2012-02-04 4 views
4

Как я могу найти индекс щелкнутого тега привязки из массива с помощью jquery ???Как найти индекс щелкнутого элемента из массива с jquery?

Я хочу найти, есть ли элемент, который eqqal для элемента clicked, и if is true возвращает индекс этого элемента.

я пытался что-то вроде этого, но он вернется с -1

$('#id').click(function(){ 

var obj = $('a').get(0).href; 
var arr = $.makeArray(obj); 
var getclickedhref = $(this).get(0).href; 

var clickedindex = $.inArray(getclickedhref, arr); 

console.log(clickedindex); 
}); 

пожалуйста, вы можете мне помочь ??!

ответ

10

Я не уверен, что все get и makeArray материал для, но я думаю, что вы ищете index:

Поиск заданного элемента из числа соответствующих элементов.

Итак, данные некоторых якорей:

<a>Zero</a> 
<a>One</a> 
<a>Two</a> 
<a>Three</a> 
<a>Four</a> 

вы могли бы сделать что-то вроде этого:

$('a').click(function() { 
    var i = $('a').index(this); 
    // i is the index of the clicked anchor within all the anchors. 
}); 

Демо: http://jsfiddle.net/ambiguous/YbUU7/

2

Как об этом:

$('a').click(function(){ 
console.log($(this).index()); 
}) 
+0

У меня была такая же проблема, и я уже пробовал это. Он просто всегда будет возвращать '1'. – kaiser

+0

http://jsfiddle.net/j08691/ysZap/ – j08691

+0

+1 jsFiddle работает, мой личный пример нет. '$ ('a'). index (this);' работает с обеих сторон. – kaiser