迭代li元素
Iterating through li elements
我的HTML
代码中有一个结构,看起来有点像这样。
<nav id="nav">
<ul>
<li>Li 1</li>
<li>Li 2</li>
<li>Li 3</li>
</ul>
</nav>
为了迭代列表,我使用JavaScript
和jQuery
插件。代码看起来有点像这样:
for(i = 1; i <= navSide.children("ul").children("li").length; i++) {
console.log(navSide.children("ul").children("li:nth-child(i)").offset().top);
}
然而,这样做的问题是,我得到一个Uncaught Error: Syntax error, unrecognized expression: :nth-child
。什么是正确的,最有效的方法来做我正在做的事情?
可以使用each()
loop
$('#nav li').each(function() {
console.log($(this).offset().top);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="nav">
<ul>
<li>Li 1</li>
<li>Li 2</li>
<li>Li 3</li>
</ul>
</nav>
你不能那样使用nth-child
。Jquery有each
方法,可以让你轻松地遍历所有的li
元素。
$('li').each(function() {
console.log($(this).offset().top);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav id="nav">
<ul>
<li>Li 1</li>
<li>Li 2</li>
<li>Li 3</li>
</ul>
</nav>
相关文章:
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 完全可链接的li元素
- tiltSlider播放/暂停视频元素(如果li有当前类)
- 使用li元素的html内容更改该元素的背景
- 需要在量角器中找到使用ng中继器的li元素的数量
- 根据输入值创建li元素
- 要更改变量的高度li元素
- 为li元素添加标题
- 在不使用sort()的情况下获取HTML LI元素的副本
- 自动完成搜索无法正常工作,请不要迭代$中的所有元素.每个ul-li都会及时显示响应
- 将内容从 JSON 数组附加到 li 元素
- 使用 JavaScript 获取多元素 Li
- 灯箱“下一个”功能仍然显示已隐藏的元素 (li) 显示:无;
- 如何在嵌套列表中获取父元素li的值
- jQuery在父元素li的子元素ul中都没有得到元素
- 如果父元素li有class,将class附加到子元素
- 切换多个元素(li),除了被单击的元素
- 如何在Asp.Net中更改html元素(li)类
- 通过调整元素(li)的大小's边缘
- jQuery从数组中设置元素li数据