这是我的标记:
<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();
但它返回零。我怎样才能获得链接?
答案 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/(请打开控制台查看结果)