javascript - 如何在JQuery中按父级获取元素的索引

标签 javascript jquery html

我想从父树中获取 div 元素的索引:

$(".row .col a").click(function() {
  var e = $(this).parent();
  var p = e.parent();
  var i = p.index(e);
  console.log([e, p, i]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="row">
    <div class="col"><a>link 1</a>
    </div>
    <div class="col"><a>link 2</a>
    </div>
  </div>
</div>

但索引始终为-1。第一个链接应该是 0,第二个链接应该是 1。在这种 html 结构中如何获取索引?

最佳答案

index()获取父元素中的索引。由于只有一个 .row 类元素,index() 返回索引 0,因为它是从零开始的。

要获取单击元素的索引,请获取最接近的祖先 .col 并对其调用索引。

$(this).closest('.col').index()

Demo

$(".row .col a").click(function() {
  console.log($(this).closest('.col').index());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <div class="row">
    <div class="col"><a>link 1</a>
    </div>
    <div class="col"><a>link 2</a>
    </div>
  </div>
</div>

关于javascript - 如何在JQuery中按父级获取元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33731859/

相关文章:

javascript - 我创建了一个 Handsontable 并想要渲染 Json 数据?

javascript - 如何测试一个点是否在 SVG 闭合路径内

javascript - 日期选择器和 Laravel

jQuery UI 版本和主题

jQuery:带有选择器的更优雅的 if/else

html - 如何将 HTML CSS 设计应用于 TreeView 控件

c# - 在哪里可以找到一套标准的网页设计规则?

javascript - 出现错误 : cannot set headers after they are sent to the client

javascript - 对象内的 svg 元素不会触发 css 动画

javascript - 在按钮按下/事件触发器上传递选定的对象模型