[英]Using jQuery, how to find the index of an element amongst its siblings of a specified CSS class
鉴于以下HTML:
<div class="component">
<div class="component">
<div class="component">
</div>
</div>
<div class="component">
<div class="somethingelse">
</div>
<div class="component">
</div>
<div class="component">
<input type="button" value="Get Path" onclick="showPath(this)" />
</div>
</div>
</div>
我试图编写函数showPath
以便它返回父div
与其类component
同级的索引。 因此,在以上示例中,我希望函数返回1
。
我已经走了很远,但是它返回2
; 我不知道该怎么办忽略div
类的somethingelse
function showPath(element) {
var component = $(element).closest('.component');
alert(component.index());
}
试试这个(尚未测试):
function showPath(element) {
var component = $(element).closest('.component');
alert(component.parent().find(".component").index(component));
}
jQ的快速简单扩展,可以将这个过程变成一种方法:
$.fn.getIndex = function(){
var index = $(this).parent().children().index( $(this) );
return index;
}
在document.ready上运行它或将其包装为一个函数并以这种方式运行(可能更干净)。
用法很简单
var index_for_element = $('.thing-you-want-index-for').getIndex();
你可以这样做。
$('input').click(function() {
var component = $(this).closest('.component');
alert(component.parent().children(".component").index(component));
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.