input: "/input|select|textarea|button/i.test(a.nodeName)",
// :has()
- has: "jQuery.find(m[3],a).length"
+ has: "jQuery.find(m[3],a).length",
+
+ // :header
+ header: "/h\\d/i.test(a.nodeName)"
},
+ // DEPRECATED
"[": "jQuery.find(m[2],a).length"
},
// Match: [@value='test'], [@foo]
/^\[ *(@)([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,
+ // DEPRECATED
// Match: [div], [div p]
/^(\[)\s*(.*?(\[.*?\])?[^[]*?)\s*\]/,
// Set the correct context (if none is provided)
context = context || document;
+ // DEPRECATED
// Handle the common XPath // expression
if ( !t.indexOf("//") ) {
//context = context.documentElement;
t = t.substr(2,t.length);
+ // DEPRECATED
// And the / root expression
} else if ( !t.indexOf("/") && !context.ownerDocument ) {
context = context.documentElement;
var r = [];
last = t;
+ // DEPRECATED
t = jQuery.trim(t).replace( /^\/\//, "" );
var foundToken = false;
if ( t.indexOf(" ") == 0 ) continue;
foundToken = true;
} else {
+ // (.. and /) DEPRECATED
re = /^((\/?\.\.)|([>\/+~]))\s*(\w*)/i;
if ( (m = re.exec(t)) != null ) {
if ( m == "+" ) break;
}
+ // DEPRECATED
} else
r.push( ret[j].parentNode );
// We need to find all descendant elements
for ( var i = 0; ret[i]; i++ ) {
// Grab the tag name being searched for
- var tag = m[1] != "" || m[0] == "" ? "*" : m[2];
+ var tag = m[1] == "#" && m[3] ? m[3] : m[1] != "" || m[0] == "" ? "*" : m[2];
// Handle IE7 being really dumb about <object>s
if ( tag == "*" && ret[i].nodeName.toLowerCase() == "object" )
f = jQuery.expr[m[1]][m[2]];
// Build a custom macro to enclose it
- eval("f = function(a,i){return " + f + "}");
+ f = eval("false||function(a,i){return " + f + "}");
// Execute it against the current filter
r = jQuery.grep( r, f, not );