Testcase for jQuery Ticket 5476
Faster get() for negative indices and more consistent return values
by jitter
HTML
<div id="foo" style="display:none"><p id="first">foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p>foo</p><p id="last">foo</p></div>
<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js">{ startOpened: true }</script>
JavaScript
(function($) {
$.fn.newGet = function(num) {
return num == null ?
// Return a 'clean' array
this.toArray() :
// Return just the object
( num < 0 ? this[ this.length + num ] : this[ num ] );
}
})(jQuery);
var $ps = $("#foo p");
$.each([0, 49, 50, 51, -1, -50, -51], function( i, val ) {
console.log("orig: ", $ps.get( val ), " - new: ", $ps.newGet( val ));
});