diff --git a/src/core.js b/src/core.js index 35e6e344..1721bdac 100644 --- a/src/core.js +++ b/src/core.js @@ -130,10 +130,10 @@ jQuery.fn = jQuery.prototype = { return num == null ? // Return a 'clean' array - Array.prototype.slice.call( this ) : + this.toArray() : // Return just the object - this[ num ]; + ( num < 0 ? this.toArray.call(this, num)[0] : this[ num ] ); }, // Take an array of elements and push it onto the stack diff --git a/test/unit/core.js b/test/unit/core.js index aad9e6ee..05c512b4 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -340,6 +340,13 @@ test("get(Number)", function() { equals( jQuery("p").get(0), document.getElementById("firstp"), "Get A Single Element" ); }); +test("get(-Number)",function() { + expect(1); + equals( jQuery("p").get(-1), + document.getElementById("first"), + "Get a single element with negative index" ) +}) + test("add(String|Element|Array|undefined)", function() { expect(12); isSet( jQuery("#sndp").add("#en").add("#sap").get(), q("sndp", "en", "sap"), "Check elements from document" );