標題可能會引起誤解,但我會盡力解釋。for循環中動態更改ID屬性
我有一個Ajax函數可以獲取一些XML節點的值。現在我想用xml-nodes的值更改每個創建的元素的ID。
我有這樣的事情。 XML文件
<notes>
<note>
<text>Hello Dog</text>
<id>1</id>
</note>
<note>
<text>Hello Cat</text>
<id>1</id>
</note>
</notes>
現在呼叫我使用一個循環
stickers = myXML.getElementsByTagName("note");
for(i = 0; i < stickers.length; i++) {
var idNod = (stickers[i].getElementsByTagName("id")[0].childNodes[0].nodeValue);
var textNod = (stickers[i].getElementsByTagName("text")[0].childNodes[0].nodeValue);
add_sticker(idNod);
add_sticker(textNod);
}
// add_sticker()每一個文本節點是創建動態元素的功能...
所以輸出這將成爲
Note1 = Hello Dog id 1,
Note2 = Hello Cat id 2
但我想以某種方式使用idNod和我們Ë它作爲ID屬性 所以它會是這個樣子
<div id=1>hello dog</div>
<div id=2>hello Cat</div>
在循環我進入
stickers[i].setAttribute("id", idNod);
但是這並沒有做任何事情,不是沒有給我一個錯誤。
爲什麼使用setAttribute當你可以做'貼紙[i] .id = idNod;'? – 2013-03-18 15:11:24
你可以顯示你的'add_sticker'功能嗎? – jcubic 2013-03-18 15:12:56
除HTML5元素外,ID不能以數字開頭。 – 2013-03-18 15:13:19