2011-09-28 62 views
1

我試圖獲取數組中的觸發器元素的索引。數組中的對象的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; 
    }); 
}); 

以上但不給我收集數組中的觸發器的索引。

有什麼想法?

回答

4

你想要jQuery.index()

var obj = { 
    run: function(obj) { 
     var att = obj.attr('rel'); 
     var index = $('a[rel='+att+']').index(obj); 
    } 
}; 
+0

謝謝你們 - 這正是我需要的。 – user398341

1

不要你的意思呢?

alert(arr.indexOf(obj)); 
0

邁克Haboustak的答案很可能是做的最好的方式,但你也可以做類似

$('a.click').each(function(index, o){ 
    $(o).click(function() { obj.run($(o), index); return false; }); 
}); 

類似的結果略有不同的方法。