mrt*_*man 22 jquery jquery-selectors
所以我刚才在SO上看到了这个问题,它让我思考.
基本上,OP有这些方面的东西
<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
Run Code Online (Sandbox Code Playgroud)
$('div').each( function() {
//do something different based on whether even or odd div
if ($(this) == ':even') {} //invalid markup I know!
else {}
});
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉.each()你当前元素是奇数还是偶数?
有.filterjQuery 的方法,但是当它有一个单独的元素时它总是返回true.
我也意识到你可以使用nth-child选择器或以其他方式设置它,但我很好奇这个特定情况.
Sea*_*ira 57
回调.each函数传递给元素的索引和元素:
$('div').each(function(i, el) {
// As a side note, this === el.
if (i % 2 === 0) { /* we are even */ }
else { /* we are odd */ }
});
Run Code Online (Sandbox Code Playgroud)
$('div').each( function(index) {
//do something different based on whether even or odd div
if (index % 2 == 0) {} // even
else {} // odd
});
Run Code Online (Sandbox Code Playgroud)
如果您知道所有元素都是同一父元素的子元素,则可以使用每个元素提供的索引
$('div').each( function(index) {
if (index%2 == 0) {}
else {}
});
Run Code Online (Sandbox Code Playgroud)
否则,使用index函数来计算其兄弟姐妹中元素的索引.
$('div').each( function() {
if ($(this).index()%2 == 0) {}
else {}
});
Run Code Online (Sandbox Code Playgroud)