aboutsummaryrefslogtreecommitdiffstats
path: root/src/selector/selector.js
diff options
context:
space:
mode:
authorCorey Jewett <cj@syntheticplayground.com>2007-04-13 17:48:04 +0000
committerCorey Jewett <cj@syntheticplayground.com>2007-04-13 17:48:04 +0000
commit2fac5e7949ec342c450b2e032509eed0e35cf1ff (patch)
tree783ec8ce9351a1a59279f5c6bb0aa3c0ab3d2fe1 /src/selector/selector.js
parentbfe5f891068af9f86d7be288ad0da7b442427d9c (diff)
downloadjquery-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.js5
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*\]/,