]> source.dussan.org Git - jquery.git/commitdiff
Return correct index for no-arg index() calls. Fixes #10977. Closes gh-971
authorMORGAN <morgan@morgangraphics.com>
Tue, 16 Oct 2012 14:25:08 +0000 (10:25 -0400)
committerRick Waldron <waldron.rick@gmail.com>
Tue, 16 Oct 2012 14:25:08 +0000 (10:25 -0400)
src/traversing.js
test/unit/traversing.js

index 4c58ae0b83a22d9ea7b8dae55d555a07e27250ba..d92bec4cb01517b5e945556e228c0c8d3fefbcff 100644 (file)
@@ -112,7 +112,7 @@ jQuery.fn.extend({
 
                // No argument, return index in parent
                if ( !elem ) {
-                       return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;
+                       return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1;
                }
 
                // index in selector
index dd957c28b46313446f5a7e96dd0750df90dc7b2f..b93bede298db034b7ac30a9e8a9ee20a6bd7fb60 100644 (file)
@@ -651,3 +651,12 @@ test("eq('-1') #10616", function() {
        equal( $divs.eq( "-1" ).length, 1, "The string '-1' returns a selection that has length 1" );
        deepEqual( $divs.eq( "-1" ), $divs.eq( -1 ), "String and number -1 match" );
 });
+
+test("index(no arg) #10977", function() {
+       expect(1);
+       
+       var $list = jQuery("<ul id='indextest'><li>THIS ONE</li><li class='one'>a</li><li class='two'>b</li><li class='three'>c</li></ul>");
+       jQuery("#qunit-fixture").append( $list );
+       strictEqual ( jQuery( "#indextest li:not(.one,.two)" ).index() , 0, "No Argument Index Check" );
+       $list.remove();
+});