diff options
author | John Resig <jeresig@gmail.com> | 2006-07-16 19:39:07 +0000 |
---|---|---|
committer | John Resig <jeresig@gmail.com> | 2006-07-16 19:39:07 +0000 |
commit | 57403c1be2e9408e44b02628bae0bbe0680d1c4b (patch) | |
tree | bea1c00f3c182568641f76bf714e4daad771b25f | |
parent | 98bd178cb00da749062bcd7e8992b569156674fc (diff) | |
download | jquery-57403c1be2e9408e44b02628bae0bbe0680d1c4b.tar.gz jquery-57403c1be2e9408e44b02628bae0bbe0680d1c4b.zip |
Changed how the new parser works and fixed a bug with :hidden/:visible.
-rw-r--r-- | jquery/jquery.js | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/jquery/jquery.js b/jquery/jquery.js index 075c2d2f7..2bde96f32 100644 --- a/jquery/jquery.js +++ b/jquery/jquery.js @@ -1252,8 +1252,8 @@ jQuery.extend({ contains: "(a.innerText||a.innerHTML).indexOf(m[3])>=0", // Visibility - visible: "jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'", - hidden: "jQuery.css(a,'display')=='none'||jQuery.css(a,'visibility')=='hidden'", + visible: "a.type!='hidden'&&jQuery.css(a,'display')!='none'&&jQuery.css(a,'visibility')!='hidden'", + hidden: "a.type=='hidden'||jQuery.css(a,'display')=='none'||jQuery.css(a,'visibility')=='hidden'", // Form elements enabled: "!a.disabled", @@ -1409,19 +1409,17 @@ jQuery.extend({ // The regular expressions that power the parsing engine parse: [ // Match: [@value='test'], [@foo] - "\\[ *(@)S *([!*$^=]*) *Q\\]", + [ "\\[ *(@)S *([!*$^=]*) *Q\\]", 1 ], // Match: [div], [div p] - "(\\[)Q\\]", + [ "(\\[)Q\\]", 0 ], // Match: :contains('foo') - "(:)S\\(Q\\)", + [ "(:)S\\(Q\\)", 0 ], // Match: :even, :last-chlid - "([:.#]*)S" + [ "([:.#]*)S", 0 ] ], - - parseSwap: [ 1, 0, 0, 0 ], filter: function(t,r,not) { // Figure out if we're doing regular, or inverse, filtering @@ -1430,8 +1428,10 @@ jQuery.extend({ while ( t && /^[a-z[({<*:.#]/i.test(t) ) { - for ( var i = 0; i < jQuery.parse.length; i++ ) { - var re = new RegExp( "^" + jQuery.parse[i] + var p = jQuery.parse; + + for ( var i = 0; i < p.length; i++ ) { + var re = new RegExp( "^" + p[i][0] // Look for a string-like sequence .replace( 'S', "([a-z*_-][a-z0-9_-]*)" ) @@ -1443,7 +1443,7 @@ jQuery.extend({ if ( m ) { // Re-organize the match - if ( jQuery.parseSwap[i] ) + if ( p[i][1] ) m = ["", m[1], m[3], m[2], m[4]]; // Remove what we just matched |