Side navigation
#3762 closed bug (duplicate)
Opened December 31, 2008 04:19PM UTC
Closed January 04, 2009 04:06PM UTC
multiple selectors inside :not() while using $.filter() do not work in 1.3b1
Reported by: | garrett | Owned by: | john |
---|---|---|---|
Priority: | major | Milestone: | 1.3 |
Component: | selector | Version: | |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
The following worked in jQuery 1.2.x:
$('ul>li').filter('li:not(.test-2,.test-4)').css({fontWeight: 'bold'});
It does not in jQuery 1.3b1. Curiously, it seems to work fine when used like so:
$('li:not(.test-3,.test-4)').css({backgroundColor: 'red'});
Also, the following statement works in 1.3b1 (which is similar to the first, except testing for one value inside of the :not()):
$('ul>li').filter('li:not(.test-2)').css({fontWeight: 'bold'});
So it seems that it may be an issue with passing multiple selectors in :not(), but only when filtering.
This causes a JavaScript error in line 1812 of jQuery 1.3b1.
In this code (specifically the match[3]... line):
PSEUDO: function(match){
if ( match[1] === "not" ) {
match[3] = match[3].split(/\\s*,\\s*/);
}
return match;
},