首先是我的HTML:
<h2>
<a href=[...]>
<expander>
SomeText
</expander>
</a>
</h2>
<h2>
<a href=[...]>
<expander>
SomeText
</expander>
</a>
</h2>
现在是Javascript / JQuery:
$("expander").on("click", function(){
var blubb = $(this).index();
alert(blubb)
});
我的问题是“警报”(实际上“blubb”var)一直抛出零。如果我点击第二个扩展器,它不应该给“1”吗?
谢谢!
此致
答案 0 :(得分:2)
由于expander
是其父索引的第一个且唯一的子节点将始终返回0
。
试试这个:
var blubb = $(this).closest('h2').index();
<强>演示强>
答案 1 :(得分:1)
您需要执行此操作才能获得expander
点击的正确索引:
$("expander").on("click", function (e) {
e.preventDefault();
var blubb = $("expander").index(this);
alert(blubb)
});
答案 2 :(得分:0)
.index()
将给出元素的索引与其兄弟的关系
在您的情况下,您需要找到相对于页面中的扩展器元素的单击扩展器的索引,因此请尝试
var $expanders = $("expander").on("click", function(){
var blubb = $expanders.index(this);
alert(blubb)
});
演示:Fiddle