используйте DOM для определения номера в последовательности - PullRequest
0 голосов
/ 24 июня 2011

Я почти уверен, что мог бы лучше произнести название, но я изо всех сил пытался понять это.

У меня есть последовательность идентичных элементов DOM:

<div class="some_element"></div>
<div class="some_element"></div>
<div class="some_element"></div>

Можно ли с помощью jQuery определить, над каким числом в дочерней последовательности выполняется работа, чтобы я мог работать с ними индивидуально?

Ответы [ 3 ]

2 голосов
/ 24 июня 2011
$.each($('div'), function(index, value) {
    // value is the current element in the iteration.
    value.text('div ' + index);
});
1 голос
/ 24 июня 2011
<div class="some_element">1</div>
<div class="some_element" id="id2">2</div>
<div class="some_element">3</div>

$('#id2').index(); // 1 since it's a zero-based index

Если разметка была немного сложнее:

<div class="some_element">1</div>
<span class="some_other_element">useless</span>
<div class="some_element" id="id2">2</div>
<div class="some_element">3</div>

$('#id2').index(); // 2 since it looks at all the siblings
$('#id2').index('.some_element'); // 1 again, that's better

Наконец, это может стать немного более сложным / настроенным, если у вас есть собственный объект jquery:

$('.some_element')
.filter(function(){return Number($(this).text())<=2;}) // custom collection
.index($('#id2')); // 1
1 голос
/ 24 июня 2011
// Iterate through the elements
$(".some_element").each(function(){
   // Get the index (zero-based)
   var itemIndex = $(this).index();
   // ???
   $(this).html(itemIndex);
   // Profit!
});
...