2010-03-16 65 views
0

我正在使用javascript表单验证程序,并为其错误消息创建一个div。目前它将div附加到html主体,但我想将其更改为将其附加到我选择的特定div。我对.js是新手,但无论如何都没有结果就给了这个镜头。如何更改appendChild的目标div javascript

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'),我认为(来自我有限的知识)允许我在此函数的任何位置引用lightbox。所以我对10号线的想法是做类似的事情;

document.lightbox.appendChild(msg); 

从而将msg div附加到TB_window div但它不工作...任何想法?

回答

2

删除文件的前缀,所以

 
lightbox.appendChild(msg); 

这是因为收藏已经提到的文档元素,它实际上是说

 
document.document.getElementById(); 

以同样的方式ATM机进行自动取款机机器。 (嗯,这就是我所理解它是安韦)

0

lightbox是一个变量,而不是document对象的属性:

lightbox.appendChild(msg); 

如果您正在访问的元素只有一次,你甚至不需要变量:

document.getElementById('TB_window').appendChild(msg);