我有一个数组中的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