mirror of
https://github.com/jquery/jquery.git
synced 2025-01-10 18:24:24 +00:00
Core: Implement .even() & .odd() to replace POS :even & :odd
`:even` & `:odd` are deprecated since jQuery 3.4.0 & will be removed in 4.0.0. The new `even()` & `odd()` methods will make the migration easier. Closes gh-4485
This commit is contained in:
parent
f810080e8e
commit
78420d427c
12
src/core.js
12
src/core.js
@ -100,6 +100,18 @@ jQuery.fn = jQuery.prototype = {
|
||||
return this.eq( -1 );
|
||||
},
|
||||
|
||||
even: function() {
|
||||
return this.pushStack( jQuery.grep( this, function( _elem, i ) {
|
||||
return ( i + 1 ) % 2;
|
||||
} ) );
|
||||
},
|
||||
|
||||
odd: function() {
|
||||
return this.pushStack( jQuery.grep( this, function( _elem, i ) {
|
||||
return i % 2;
|
||||
} ) );
|
||||
},
|
||||
|
||||
eq: function( i ) {
|
||||
var len = this.length,
|
||||
j = +i + ( i < 0 ? len : 0 );
|
||||
|
@ -648,6 +648,18 @@ QUnit.test( "first()/last()", function( assert ) {
|
||||
assert.deepEqual( $none.last().get(), [], "last() none" );
|
||||
} );
|
||||
|
||||
QUnit.test( "even()/odd()", function( assert ) {
|
||||
assert.expect( 4 );
|
||||
|
||||
var $links = jQuery( "#ap a" ), $none = jQuery( "asdf" );
|
||||
|
||||
assert.deepEqual( $links.even().get(), q( "google", "anchor1" ), "even()" );
|
||||
assert.deepEqual( $links.odd().get(), q( "groups", "mark" ), "odd()" );
|
||||
|
||||
assert.deepEqual( $none.even().get(), [], "even() none" );
|
||||
assert.deepEqual( $none.odd().get(), [], "odd() none" );
|
||||
} );
|
||||
|
||||
QUnit.test( "map()", function( assert ) {
|
||||
assert.expect( 2 );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user