如何在jQuery中获取点击链接的索引?

时间:2016-02-06 20:07:56

标签: javascript jquery

这是我的标记:

<div>
<h2><a href="link-here">Link Text</a></h2>
<p>Description</p>
<h2><a href="link-here">Link Text</a></h2>
<p>Description</p>
<h2><a href="link-here">Link Text</a></h2>
<p>Description</p>
.. Unknown number of such elements...
</div>

当用户点击链接时,我想获得其索引。我尝试使用$(this).index();但它返回零。我怎样才能获得链接?

2 个答案:

答案 0 :(得分:1)

这将有效:

$(document).ready(function(){
    $('a').on('click',function(){
        alert($('a').index($(this)));
    });
});

在jQuery文档(https://api.jquery.com/index/)中我们读到:

  

如果在元素集合和DOM元素上调用.index()或   传入jQuery对象,.index()返回一个指示的整数   传递元素相对于原​​始集合的位置。

答案 1 :(得分:0)

您遇到问题的原因是index()将返回相对于this的父级的结果,该父级始终是h2元素。 换句话说,对于您的情况,index()将始终为零。

但是,如果您read the documentation,您会发现index()也有一些变体,例如第二个选项,您可以在其中指定如何通过项目列表检索索引选择器。

以下是一个示例:https://jsfiddle.net/d7rpuv6d/(请打开控制台查看结果)