2010-03-16 68 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);