javascript - 如何使用 jquery 获取一组选定元素中元素的顺序?

标签 javascript jquery

<分区>

我需要在一组选定的元素中获取元素的顺序,例如:

<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<ul>
    <li>1</li>
    <li id="example">2</li>
    <li>3</li>
</ul>
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<script>
    $('#example').click(function (e)) {
        $this = $(this);
        // some code
    });
</script>

我需要知道 $this 在所有 li 元素中的顺序。例如,在这种情况下,代码应返回 5。

我的第一个想法是遍历所有的li元素,然后比较每个元素,但我觉得这种做法很慢。我还可以为每个 li 元素添加一个 data-order 属性,但是有没有其他更简单或更快的方法来做到这一点?

最佳答案

试试这个

 $('#example').click(function (e) {
  var $this = $(this);
  var $index = $('li').index($this);
   alert($index + 1) //+1 because index start from 0
 });

fiddle here

注意:这将选择所有 <li>在文档中..具体来说,你可以给 ul 一个类/id并使用类/ID 选择器 $('.ulClass li').index($this);

关于javascript - 如何使用 jquery 获取一组选定元素中元素的顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105335/

相关文章:

jquery - 使用 jQuery 模拟 CSS4 主题选择器?

javascript - 如何使用 Href 但不被重定向?使用 HTML

javascript - CucumberJS 2.0.0 如何从 Before Scenario Hook 中获取场景名称

javascript - 从 Javascript 调用 ASP.NET 方法

javascript - 有没有关于 IE8 中 jquery 变量名中下划线的文档?

javascript - 正则表达式帮助 Angular 过滤器突出显示 html 中的匹配文本

javascript - 正则表达式字符串不以特殊字符开头或结尾

javascript - 我可以使用 p5js 在同一页面上创建多个 Canvas 元素吗

javascript - 一直使用持续时间为 0 的 .animate 可以吗?有更好的选择吗?

javascript - 将jasmine测试结果输出到控制台