diff --git a/src/traversing.js b/src/traversing.js index 6f68e7821..b5a38f363 100644 --- a/src/traversing.js +++ b/src/traversing.js @@ -1,4 +1,5 @@ var isSimple = /^.[^:#\[\.,]*$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, rneedsContext = jQuery.expr.match.needsContext, // methods guaranteed to produce a unique set when starting from a unique set guaranteedUnique = { @@ -200,8 +201,8 @@ jQuery.each({ jQuery.unique( matched ); } - // Reverse order for parents* and prev* - if ( name[ 0 ] === "p" && name !== "parent" ) { + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { matched.reverse(); } } diff --git a/test/unit/traversing.js b/test/unit/traversing.js index b35a5c3cc..89ed81ac6 100644 --- a/test/unit/traversing.js +++ b/test/unit/traversing.js @@ -682,7 +682,7 @@ test("sort direction", function() { parents: true, parentsUntil: true, next: false, - prev: true, + prev: false, nextAll: false, prevAll: true, nextUntil: false,