diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js index 289a41610e..ff8909c8ba 100644 --- a/src/jquery/coreTest.js +++ b/src/jquery/coreTest.js @@ -920,3 +920,11 @@ test("eq(), gt(), lt(), contains()", function() { isSet( $("#ap a").lt(3).get(), q("google", "groups", "anchor1"), "lt()" ); isSet( $("#foo a").contains("log").get(), q("anchor2", "simon"), "contains()" ); }); + +test("slice()", function() { + expect(4); + isSet( $("#ap a").slice(1,2), q("groups"), "slice(1,2)" ); + isSet( $("#ap a").slice(1), q("groups", "anchor1", "mark"), "slice(1)" ); + isSet( $("#ap a").slice(0,3), q("google", "groups", "anchor1"), "slice(0,3)" ); + isSet( $("#ap a").slice(-1), q("mark"), "slice(-1)" ); +}); diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js index b7091e26fa..ff33034ede 100644 --- a/src/jquery/jquery.js +++ b/src/jquery/jquery.js @@ -1160,6 +1160,10 @@ jQuery.fn = jQuery.prototype = { ( this.length ? this[0].innerHTML : null ) : this.empty().append( val ); }, + + slice: function() { + return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); + }, /** * @private