JavaScript:for循环在多个位置附加元素
JavaScript: for loop append element in several places
我有一个for循环,需要将一个列表项附加到共享相同类名的两个菜单中。问题是,如果我引用它的索引,或者如果我使用I的索引,它只会附加到最后一项,那么它只会追加到其中一项。
HTML
<ul class="menu">
<li>List One</li>
</ul>
<ul class="menu">
<li>List Two</li>
</ul>
JS-
var menu = document.querySelectorAll('.menu');
var listItem = document.createElement('li');
for(i=0; i < menu.length; ++i){
menu[i].appendChild(listItem);
}
这是JS的另一个奇怪的怪癖吗?还是我只是错过了什么?
应该是…
var menu = document.querySelectorAll('.menu');
var listItem = document.createElement('li');
for (var i=0; i < menu.length; ++i) {
menu[i].appendChild(listItem.cloneNode());
// or menu[i].appendChild(document.createElement('li'));
// the point is, you'll have to create a new element and append it
}
目前,您只需将相同的元素从一个父.menu
项移动到另一个。引用文档:
如果给定的子节点是对document,appendChild((将其从当前位置移动到新位置位置(不要求从其父节点中删除节点节点,然后将其附加到某个其他节点(。
相关文章:
- 从鼠标点(及更多)查询位置元素
- 保持光标位置元素在顶部使用 svg
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- 使用JS暂时禁用在位置/元素处滚动
- 相对于另一个元素的位置元素不起作用
- 返回包含随机位置元素的数组
- 如何在 Jquery 中根据屏幕大小移动绝对位置元素
- 如何在html中设置固定位置元素的最大深度
- 无论如何,如果绝对位置元素位于屏幕下方,则使正文滚动条出现
- 绝对位置元素未隐藏在滚动框之外
- 为什么浮动位置 元素缩小时元素不移动
- 固定位置元素…动作
- 当元素处于相对位置元素时,查找元素偏离窗口的jQuery或JavaScript方法
- 绝对位置元素,这样它们的行为就像浮动一样
- jQuery鼠标在菜单和动画位置元素后面
- 捕获绝对位置元素上的单击事件
- 如何设置固定位置元素的高度以达到浏览器窗口的底部
- jQuery绑定位置:元素的绝对位置
- 如何将固定位置元素限制为浏览器窗口的高度
- 如何在不使用JS的情况下使用TOC滚动页面上的固定位置元素