我有一個數組中的JavaScript稱爲menuElm
具有在它<ul>
元素:追加陣列的一類中的JavaScript
<ul id="1"></ul>
<ul id="2"></ul>
<ul id="3"></ul>
我在HTML有一個網頁,有以下幾點:
<ul id="menu">
<li class="menu-item"></li>
<li class="menu-item"></li>
<li class="menu-item"></li>
</ul>
我想將menuElm
的元素添加到HTML頁面,所以它看起來像這樣:
<ul id="menu">
<li class="menu-item">
<ul id="1"></ul>
</li>
<li class="menu-item">
<ul id="2"></ul>
</li>
<li class="menu-item">
<ul id="3"></ul>
</li>
</ul>
我曾嘗試以下,但<ul>
要素只是不會在頁面也不在代碼中顯示:
function CreateMenu() {
var menuElm;
var k = 0;
menuElm = createElm("ul");
menuElm.id = ++k;
for (var i = 0; i < menuElm.length; ++i) {
document.getElementsByClassName("menu-item")[i].appendChild(menuElm[i]);
}
}
我是新的JavaScript,我究竟做錯了什麼?
它是使用數字作爲ID最好避免。 [see here](http://stackoverflow.com/questions/5672903/can-i-have-a-div-with-id-as-number) – aahhaa
你在函數中聲明'var k = 0' 'menuEl.id'將始終爲1.同樣,不清楚'createElm(「ul」)'返回的是什麼,假設它是'document.createElement()'的快捷方式。但是,當'CreateMenu'運行循環時,無論哪種方式都是無用的,因爲'menuElm'將始終是單個元素,所以在這種情況下不適合使用'menuElm.length'。你最好保存'document.getElementsByClassName(「menu-item」)'的結果並循環遍歷它的長度。 – GillesC
我將'menuElm.length'改爲'3',並在循環中添加了'createElm(「ul」)'',它和'document'一樣。creatElement(「ul」)'現在它創建了3個不同的id-s,儘管它不會將它添加到類中 – balintpekker