Как изменить целевой div для javascript appendChild - PullRequest
0 голосов
/ 16 марта 2010

Я использую валидатор формы javascript, и он создает div для своих сообщений об ошибках. В настоящее время он добавляет div к html телу, но я хотел бы изменить его, чтобы добавить к определенному div по своему выбору. Я новичок в .js, но в любом случае сделал это безрезультатно.

function inlineMsg(target,string,autohide) {
var msg;
var msgcontent;
if(!document.getElementById('msg')) {
lightbox = document.getElementById('TB_window');
msg = document.createElement('div');
msg.id = 'msg';
msgcontent = document.createElement('div');
msgcontent.id = 'msgcontent';
document.body.appendChild(msg);
msg.appendChild(msgcontent);
msg.style.filter = 'alpha(opacity=0)';
msg.style.opacity = 0;
msg.alpha = 0;
} else {
msg = document.getElementById('msg');
msgcontent = document.getElementById('msgcontent');
}

Создаваемый div - это #msg div. По моему необразованному уму, похоже, что строка 10 выполняет добавление. document.body.appendChild (msg)

Я создал строку 5 lightbox = document.getElementById ('TB_window'), который, как мне кажется (из моих ограниченных знаний), позволяет мне ссылаться на лайтбокс в любой точке этой функции. Поэтому в строке 10 я подумал сделать что-то вроде:

   document.lightbox.appendChild(msg);

тем самым добавляя msg div в div TB_window, но он не работает ... есть идеи?

Ответы [ 2 ]

2 голосов
/ 16 марта 2010

Удалите префикс документа, поэтому

lightbox.appendChild(msg);

Это будет потому, что лайтбокс уже ссылается на элемент документа, фактически он говорит

document.document.getElementById();

Точно так же банкомат означает «Банкомат». (Ну, вот как я понимаю, это всегда так)

0 голосов
/ 16 марта 2010

lightbox является переменной, а не свойством объекта document:

lightbox.appendChild(msg);

Если вы обращаетесь к элементу только один раз, вам даже не нужна переменная:

document.getElementById('TB_window').appendChild(msg);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...