aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMORGAN <morgan@morgangraphics.com>2012-10-16 10:25:08 -0400
committerRick Waldron <waldron.rick@gmail.com>2012-10-16 10:25:08 -0400
commit4bb46f413a0e2f6933013b26d2aceddca6cf03f1 (patch)
tree1697b5a76869cd7d29111573a787bdaebbb81a8e
parented9e34482a303e7e64c397f89533dbe64f51cfbf (diff)
downloadjquery-4bb46f413a0e2f6933013b26d2aceddca6cf03f1.tar.gz
jquery-4bb46f413a0e2f6933013b26d2aceddca6cf03f1.zip
Return correct index for no-arg index() calls. Fixes #10977. Closes gh-971
-rw-r--r--src/traversing.js2
-rw-r--r--test/unit/traversing.js9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/traversing.js b/src/traversing.js
index 4c58ae0b8..d92bec4cb 100644
--- a/src/traversing.js
+++ b/src/traversing.js
@@ -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
diff --git a/test/unit/traversing.js b/test/unit/traversing.js
index dd957c28b..b93bede29 100644
--- a/test/unit/traversing.js
+++ b/test/unit/traversing.js
@@ -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();
+});