数组中对象的jQuery索引

时间:2011-09-28 15:51:45

标签: jquery

我正在尝试获取数组中触发器元素的索引。

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;
    });
});

但是上面没有给出收集数组中触发器的索引。

有什么想法吗?

3 个答案:

答案 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; });
});

类似的结果略有不同的方法。