diff options
author | Corey Jewett <cj@syntheticplayground.com> | 2007-04-13 17:48:04 +0000 |
---|---|---|
committer | Corey Jewett <cj@syntheticplayground.com> | 2007-04-13 17:48:04 +0000 |
commit | 2fac5e7949ec342c450b2e032509eed0e35cf1ff (patch) | |
tree | 783ec8ce9351a1a59279f5c6bb0aa3c0ab3d2fe1 /src/selector/selector.js | |
parent | bfe5f891068af9f86d7be288ad0da7b442427d9c (diff) | |
download | jquery-2fac5e7949ec342c450b2e032509eed0e35cf1ff.tar.gz jquery-2fac5e7949ec342c450b2e032509eed0e35cf1ff.zip |
Add RegExp style xpath attributes and testcases. e.g. [@foo =~ /bar/i] and [@foo !~ /bar/]
Diffstat (limited to 'src/selector/selector.js')
-rw-r--r-- | src/selector/selector.js | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/selector/selector.js b/src/selector/selector.js index 48c6e1573..d6d87c03c 100644 --- a/src/selector/selector.js +++ b/src/selector/selector.js @@ -56,6 +56,9 @@ jQuery.extend({ "$=": "z&&z.substr(z.length - m[4].length,m[4].length)==m[4]", "*=": "z&&z.indexOf(m[4])>=0", "": "z", + // these are for evaling in a regexp. + "=~": "eval(m[4]).test(z)", + "!~": "!eval(m[4]).test(z)", _resort: function(m){ return ["", m[1], m[3], m[2], m[5]]; }, @@ -67,7 +70,7 @@ jQuery.extend({ // The regular expressions that power the parsing engine parse: [ // Match: [@value='test'], [@foo] - /^\[ *(@)([\w-]+) *([!*$^=]*) *('?"?)(.*?)\4 *\]/, + /^\[ *(@)([\w-]+) *([!*$^=!~]*) *('?"?)(.*?)\4 *\]/, // Match: [div], [div p] /^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/, |