Jquery 这是偶数元素还是奇数元素?

Jquery 这是偶数元素还是奇数元素?,jquery,jquery-selectors,Jquery,Jquery Selectors,所以我几分钟前就开始思考了 基本上,OP有这样一些东西 <div>a</div> <div>b</div> <div>c</div> <div>d</div> 是否有办法在.each()中判断当前元素是奇数还是偶数实例? jQuery有.filter方法,但是当它只有一个元素时,它总是返回true 我还意识到您可以使用第n个子选择器或以其他方式进行设置,但我对这种特殊情况感到好奇。回调传递给元素的索

所以我几分钟前就开始思考了

基本上,OP有这样一些东西

<div>a</div>
<div>b</div>
<div>c</div>
<div>d</div>
是否有办法在
.each()
中判断当前元素是奇数还是偶数实例?

jQuery有
.filter
方法,但是当它只有一个元素时,它总是返回true

我还意识到您可以使用第n个子选择器或以其他方式进行设置,但我对这种特殊情况感到好奇。

回调传递给元素的索引和元素:

$('div').each(function(i, el) {
   // As a side note, this === el.
   if (i % 2 === 0) { /* we are even */ }
   else { /* we are odd */ }
});

如果知道所有元素都是同一父元素的子元素,则可以使用每个元素提供的索引

$('div').each( function(index) {
    if (index%2 == 0) {}
    else {}
});
否则,请使用将计算同级元素索引的函数

$('div').each( function() {
    if ($(this).index()%2 == 0) {}
    else {}
});
使用jqueryapi


谢谢,我不知道它有一个索引回调!这个问题的答案中已经有了。看看最后一段代码:@BoltClock-谢谢,我错过了那个更新。+1-谢谢你给我展示了.index()方法。给我一个新的!这似乎不起作用。另一个用户提供了相同的解决方案,并删除了答案。从逻辑上讲,它看起来确实很有希望,但没有成功@谢尔曼:谢谢,是的,我再次检查,发现它不适用于jquery版本<1.10.1。在JSFIDLE链接中有jquery 1.6.3。实际上,你们两个都有相同的时间:)
$('div').each( function(index) {
    if (index%2 == 0) {}
    else {}
});
$('div').each( function() {
    if ($(this).index()%2 == 0) {}
    else {}
});
$('div').each( function() {
    //Check if element is even
    if ($(this).is(":even")) {
    }

    //Check if element is odd
    if ($(this).is(":odd")) {
    }

});