aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2006-07-16 19:39:07 +0000
committerJohn Resig <jeresig@gmail.com>2006-07-16 19:39:07 +0000
commit57403c1be2e9408e44b02628bae0bbe0680d1c4b (patch)
treebea1c00f3c182568641f76bf714e4daad771b25f
parent98bd178cb00da749062bcd7e8992b569156674fc (diff)
downloadjquery-57403c1be2e9408e44b02628bae0bbe0680d1c4b.tar.gz
jquery-57403c1be2e9408e44b02628bae0bbe0680d1c4b.zip
Changed how the new parser works and fixed a bug with :hidden/:visible.
-rw-r--r--jquery/jquery.js22
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