我很确定我可以更好地说出这个标题,但我很难将这个标题说出来。
我有一系列相同的DOM元素:
<div class="some_element"></div>
<div class="some_element"></div>
<div class="some_element"></div>
是否有可能使用jQuery来确定正在处理子序列中的哪个数字,以便我可以单独处理它们?
答案 0 :(得分:2)
$.each($('div'), function(index, value) {
// value is the current element in the iteration.
value.text('div ' + index);
});
答案 1 :(得分:1)
// Iterate through the elements
$(".some_element").each(function(){
// Get the index (zero-based)
var itemIndex = $(this).index();
// ???
$(this).html(itemIndex);
// Profit!
});
答案 2 :(得分:1)
<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