我在名为menuElm
的javascript中有一个数组,其中有<ul>
个元素:
<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新手,我在做什么错?
最佳答案
menuElm.length
ul
元素没有长度,因此您要从0循环到0,即0次迭代。menuElm = createElm("ul");
此功能未定义。您需要
document.createElement('ul');
menuElm = createElm("ul");
menuElm.id = ++k;
您似乎正在创建一个列表项,然后更改其ID并将其附加多次。
每次循环时都需要一个新的列表项。
appendChild(menuElm[i]);
您之前一直将
menuElm
视为元素。它不是数组,在这里[i]
毫无意义。关于javascript - 将数组追加到javascript中的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40807026/