2012-11-29 62 views
1

我需要爲現有元素創建一個新的子元素。 add onclick event to newly added element in javascript這個問題幫了我很多。將firstchild添加到新添加的元素

我只是不能將其定義爲第一個孩子。我可以使用position,但這仍然不夠。我搜索了關於JavaScript的網站,但是我什麼也沒找到。

這裏是我的代碼:

if(!document.getElementById('callbackButton')){ 
    callback = function(){ 
    var button = document.createElement('button'); 
    button.id= 'callbackButton'; 
    var textbutton =document.createTextNode("Liste des années d'étude"); 
    button.appendChild(textbutton); 
    button.style.position='absolute'; 
    button.style.top="60px"; 
    button.style.left="45px"; 
    button.style.width="200px"; 
    button.style.height="18px"; 
    button.onclick = function(){ 
    getElementsByIdStarWith('etageres-virtuelle')[0].innerHTML = oldInnerHtml; 
    document.getElementById('etageres-virtuelles-etudes-germaniques').innerHTML =  oldInnerHtml; 
    wrapPager(); 
    }; 
    document.getElementById('etageres-virtuelles-etudes-germaniques').appendChild(button); 
}; 

此代碼的工作非常出色。

但這碼不起作用:

document.getElementById('etageres-virtuelles-etudes-germaniques').firstChild.nodeValue = button; 
document.getElementById('etageres-virtuelles-etudes-germaniques').firstChild.nodeData = button; 

這不是我想要的。我想在第一位顯示這個新元素。

任何幫助,將不勝感激。謝謝。

回答

2

試試這個(未經測試):

var yourEl = document.getElementById('etageres-virtuelles-etudes-germaniques'); 
yourEl.insertBefore(button, yourEl.firstChild); 
+0

我測試此代碼,它工作得很好 非常感謝你的幫助,快速 完美謝謝:) @ let'sgo – user1863525

+0

歡迎您。你應該接受答案。 – 2012-12-03 09:08:56