Added fix for #986 (ID selector within an element that doesn't exist).
This commit is contained in:
parent
e2b52e1e40
commit
32b523b5c5
|
@ -219,15 +219,17 @@ jQuery.extend({
|
||||||
m = re2.exec(t);
|
m = re2.exec(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var last = ret[ret.length-1];
|
||||||
|
|
||||||
// Try to do a global search by ID, where we can
|
// Try to do a global search by ID, where we can
|
||||||
if ( m[1] == "#" && ret[ret.length-1].getElementById ) {
|
if ( m[1] == "#" && last && last.getElementById ) {
|
||||||
// Optimization for HTML document case
|
// Optimization for HTML document case
|
||||||
var oid = ret[ret.length-1].getElementById(m[2]);
|
var oid = last.getElementById(m[2]);
|
||||||
|
|
||||||
// Do a quick check for the existence of the actual ID attribute
|
// Do a quick check for the existence of the actual ID attribute
|
||||||
// to avoid selecting by the name attribute in IE
|
// to avoid selecting by the name attribute in IE
|
||||||
if ( jQuery.browser.msie && oid && oid.id != m[2] )
|
if ( jQuery.browser.msie && oid && oid.id != m[2] )
|
||||||
oid = jQuery('[@id="'+m[2]+'"]', ret[ret.length-1])[0];
|
oid = jQuery('[@id="'+m[2]+'"]', last)[0];
|
||||||
|
|
||||||
// Do a quick check for node name (where applicable) so
|
// Do a quick check for node name (where applicable) so
|
||||||
// that div#foo searches will be really fast
|
// that div#foo searches will be really fast
|
||||||
|
|
Loading…
Reference in a new issue