具有特定类的父元素的jQuery整体索引

时间:2014-11-27 15:02:33

标签: javascript jquery indexing

如何使用jQuery index()方法通过单击此元素内的链接来查找具有与整个文档相关的特定类的父元素的索引?

以下代码不起作用并返回-1,我想知道文档中带有“navi”类的div元素的索引...

的JavaScript

$('.navi').on('click', 'a.link', function(event) {
 var parent = $(this).closest('.navi');
 var index = $(document).index(parent);
 console.log(index);
 return false;
});

HTML

<html>
 ...
 <body>
  ...
  <div class="navi">
   ...
   <div class="anotherdiv">
    ...
    <a href="#" class="link"></a>
    ...
   </div>
   ...
  </div>
  ...
  <div class="navi">...</div>
  ...
 </body>
<html/>

2 个答案:

答案 0 :(得分:0)

您需要将选择器从文档更改为“.navi”,如下所示:

var index = $('.navi').index(parent);

此时,您正在尝试查找文档中元素的索引(这是1的集合,其中navi不存在)。你真正想做的是找到元素在一个元素集合中的位置,其中包含.navi类,如上所述。

答案 1 :(得分:0)

试试这个:

$('.navi').on('click', 'a.link', function(event) {
    var parent = $(this).closest('.navi');
    var index = $('.navi').index(parent[0]);
    console.log(index);
    return false;
});