2012-08-31 105 views
0

我試圖插入一個新的圖像到現有的元素。我有簡單的Javascript代碼問題

var backImg = createElement('img', { className : 'link', src : '/images/btn.png' }); 

    var save_bt=document.getElementsByClassName('button'); 

    save_bt.appendChild(backImg); 


The above codes gave me error: 

Object #<NodeList> has no method 'appendChild' 

任何人都可以幫助我嗎?沒有JQuery代碼plz。非常感謝!

回答

4

document.getElementsByClassName('button')返回NodeList,而不是元素。如果你想添加backImg與類中的每個元素.button你需要來遍歷節點列表:如果您想針對單一元素

for(var i=0,c=save_bt.length; i<c; i++){ 
    save_bt[i].appendChild(backImg); 
} 

,你可能想使用id HTML屬性而不是class ,則:

document.getElementById('button').appendChild(backImg); 

請注意,HTML ID在文檔中必須是唯一的。

0

如果你正在嘗試的目標單一的元素,你應該使用「身份證」:

document.getElementById('id_of_the_element').src = "new_img.png";