X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fselector%2Fselector.js;h=e21102c8dd76eb36d774a083a97a8e2a0f2fd995;hb=62303ad5efa11f0524dde236c91e8cb33ca87b3e;hp=7f71e2e346efb9ce9d29a646ad4e4e94efe390e4;hpb=33662cd713c28b2db0adccec170ffe93b35f098a;p=jquery.git diff --git a/src/selector/selector.js b/src/selector/selector.js index 7f71e2e..e21102c 100644 --- a/src/selector/selector.js +++ b/src/selector/selector.js @@ -59,7 +59,7 @@ jQuery.extend({ _resort: function(m){ return ["", m[1], m[3], m[2], m[5]]; }, - _prefix: "z=jQuery.attr(a,m[3]);" + _prefix: "z=a[m[3]]||jQuery.attr(a,m[3]);" }, "[": "jQuery.find(m[2],a).length" }, @@ -70,10 +70,10 @@ jQuery.extend({ "\\[ *(@)S *([!*$^=]*) *('?\"?)(.*?)\\4 *\\]", // Match: [div], [div p] - "(\\[)\\s*(.*?)\\s*\\]", + "(\\[)\\s*(.*?(\\[.*?\\])?[^[]*?)\\s*\\]", // Match: :contains('foo') - "(:)S\\(\"?'?([^\\)]*?)\"?'?\\)", + "(:)S\\(\"?'?(.*?(\\(.*?\\))?[^(]*?)\"?'?\\)", // Match: :even, :last-chlid "([:.#]*)S" @@ -214,10 +214,6 @@ jQuery.extend({ ret = r = oid && (!m[3] || oid.nodeName == m[3].toUpperCase()) ? [oid] : []; - // Use the DOM 0 shortcut for the body element - } else if ( m[1] == "" && m[2] == "body" ) { - ret = r = [ document.body ]; - } else { // Pre-compile a regular expression to handle class searches if ( m[1] == "." )