我正在尝试获取数组中触发器元素的索引。
html看起来像这样:
<ul>
<li><a href="#" rel="group">Link 1</a></li>
<li><a href="#" rel="group">Link 2</a></li>
<li><a href="#" rel="group">Link 3</a></li>
</ul>
然后点击我正在调用obJ对象的run()方法:
var obJ = {
run : function(obj) {
var att = obj.attr('rel');
var arr = jQuery.find('a[rel='+att+']');
alert(obj.indexOf(arr));
}
};
$(function() {
$('a.click').click(function() {
obJ.run($(this));
return false;
});
});
但是上面没有给出收集数组中触发器的索引。
有什么想法吗?
答案 0 :(得分:4)
您想要jQuery.index()
。
var obj = {
run: function(obj) {
var att = obj.attr('rel');
var index = $('a[rel='+att+']').index(obj);
}
};
答案 1 :(得分:1)
你的意思不是吗?
alert(arr.indexOf(obj));
答案 2 :(得分:0)
Mike Haboustak的答案可能是做到这一点的最好方法,但你也可以做点什么
$('a.click').each(function(index, o){
$(o).click(function () { obj.run($(o), index); return false; });
});
类似的结果略有不同的方法。