git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added support for finding elements that have underscores in their name (along with...
[jquery.git]
/
src
/
selector
/
selector.js
diff --git
a/src/selector/selector.js
b/src/selector/selector.js
index
48c6e15
..
be50d33
100644
(file)
--- 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",
"$=": "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]];
},
_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]
// The regular expressions that power the parsing engine
parse: [
// Match: [@value='test'], [@foo]
- /^\[ *(@)([\w-]+) *([!*$^=]*) *('?"?)(.*?)\4 *\]/,
+ /^\[ *(@)([\w-]+) *([!*$^=!~]*) *('?"?)(.*?)\4 *\]/,
// Match: [div], [div p]
/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,
// Match: [div], [div p]
/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,
@@
-77,7
+80,7
@@
jQuery.extend({
// Match: :even, :last-chlid, #id, .class
new RegExp("^([:.#]*)(" +
// Match: :even, :last-chlid, #id, .class
new RegExp("^([:.#]*)(" +
- ( jQuery.chars = "(?:[\\w\u0128-\uFFFF*-]|\\\\.)" ) + "+)")
+ ( jQuery.chars = "(?:[\\w\u0128-\uFFFF*_-]|\\\\.)" ) + "+)")
],
token: [
],
token: [
@@
-149,7
+152,7
@@
jQuery.extend({
// An attempt at speeding up child selectors that
// point to a specific element tag
// An attempt at speeding up child selectors that
// point to a specific element tag
- var re = /^[\/>]\s*([\w*-]+)/;
+ var re = new RegExp("^[/>]\\s*(" + jQuery.chars + "+)");
var m = re.exec(t);
if ( m ) {
var m = re.exec(t);
if ( m ) {
@@
-204,7
+207,7
@@
jQuery.extend({
} else {
// Optomize for the case nodeName#idName
} else {
// Optomize for the case nodeName#idName
- var re2 = new RegExp("^(\\w+)(#)(" + jQuery.chars + "+)");
+ var re2 = new RegExp("^(" + jQuery.chars + "+)(#)(" + jQuery.chars + "+)");
var m = re2.exec(t);
// Re-organize the results, so that they're consistent
var m = re2.exec(t);
// Re-organize the results, so that they're consistent