javascript - 遍历 li 元素

标签 javascript jquery html

我的 HTML 代码中有一个结构,看起来有点像这样。

<nav id="nav">
    <ul>
        <li>Li 1</li>
        <li>Li 2</li>
        <li>Li 3</li>
    </ul>
</nav>

为了遍历列表,我使用了 JavaScriptjQuery 插件。代码看起来有点像这样。

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()循环

$('#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>

关于javascript - 遍历 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942529/

相关文章:

javascript - header DIV 在 Safari 中调整大小时消失,但在 Firefox 和 Safari Mobile 中有效

javascript - 每次单击按钮时推送和弹出值

html - 使用 flexbox 将多个元素居中 - flex-flow : row wrap puts every child in separate row

javascript - 如何让图片加载到同一页面而不是新页面上

javascript - HTML/JS : Required input X ignored if input Y is filled

javascript - 我无法将 req.params.id 的输入使用到其他文件中存在的函数中

javascript - 有人可以解释一下这个 Javascript 方法吗?

php - Javascript 事件 - 将值发送到数据库

javascript - 向下滚动时加载 iframe

Jquery,将选择值拆分为两个字符串并使用数组分配给两个输入