@@ 4987-5093 (lines=107) @@ | ||
4984 | div = null; |
|
4985 | })(); |
|
4986 | ||
4987 | if ( document.querySelectorAll ) { |
|
4988 | (function(){ |
|
4989 | var oldSizzle = Sizzle, |
|
4990 | div = document.createElement("div"), |
|
4991 | id = "__sizzle__"; |
|
4992 | ||
4993 | div.innerHTML = "<p class='TEST'></p>"; |
|
4994 | ||
4995 | // Safari can't handle uppercase or unicode characters when |
|
4996 | // in quirks mode. |
|
4997 | if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { |
|
4998 | return; |
|
4999 | } |
|
5000 | ||
5001 | Sizzle = function( query, context, extra, seed ) { |
|
5002 | context = context || document; |
|
5003 | ||
5004 | // Only use querySelectorAll on non-XML documents |
|
5005 | // (ID selectors don't work in non-HTML documents) |
|
5006 | if ( !seed && !Sizzle.isXML(context) ) { |
|
5007 | // See if we find a selector to speed up |
|
5008 | var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); |
|
5009 | ||
5010 | if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { |
|
5011 | // Speed-up: Sizzle("TAG") |
|
5012 | if ( match[1] ) { |
|
5013 | return makeArray( context.getElementsByTagName( query ), extra ); |
|
5014 | ||
5015 | // Speed-up: Sizzle(".CLASS") |
|
5016 | } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { |
|
5017 | return makeArray( context.getElementsByClassName( match[2] ), extra ); |
|
5018 | } |
|
5019 | } |
|
5020 | ||
5021 | if ( context.nodeType === 9 ) { |
|
5022 | // Speed-up: Sizzle("body") |
|
5023 | // The body element only exists once, optimize finding it |
|
5024 | if ( query === "body" && context.body ) { |
|
5025 | return makeArray( [ context.body ], extra ); |
|
5026 | ||
5027 | // Speed-up: Sizzle("#ID") |
|
5028 | } else if ( match && match[3] ) { |
|
5029 | var elem = context.getElementById( match[3] ); |
|
5030 | ||
5031 | // Check parentNode to catch when Blackberry 4.6 returns |
|
5032 | // nodes that are no longer in the document #6963 |
|
5033 | if ( elem && elem.parentNode ) { |
|
5034 | // Handle the case where IE and Opera return items |
|
5035 | // by name instead of ID |
|
5036 | if ( elem.id === match[3] ) { |
|
5037 | return makeArray( [ elem ], extra ); |
|
5038 | } |
|
5039 | ||
5040 | } else { |
|
5041 | return makeArray( [], extra ); |
|
5042 | } |
|
5043 | } |
|
5044 | ||
5045 | try { |
|
5046 | return makeArray( context.querySelectorAll(query), extra ); |
|
5047 | } catch(qsaError) {} |
|
5048 | ||
5049 | // qSA works strangely on Element-rooted queries |
|
5050 | // We can work around this by specifying an extra ID on the root |
|
5051 | // and working up from there (Thanks to Andrew Dupont for the technique) |
|
5052 | // IE 8 doesn't work on object elements |
|
5053 | } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { |
|
5054 | var oldContext = context, |
|
5055 | old = context.getAttribute( "id" ), |
|
5056 | nid = old || id, |
|
5057 | hasParent = context.parentNode, |
|
5058 | relativeHierarchySelector = /^\s*[+~]/.test( query ); |
|
5059 | ||
5060 | if ( !old ) { |
|
5061 | context.setAttribute( "id", nid ); |
|
5062 | } else { |
|
5063 | nid = nid.replace( /'/g, "\\$&" ); |
|
5064 | } |
|
5065 | if ( relativeHierarchySelector && hasParent ) { |
|
5066 | context = context.parentNode; |
|
5067 | } |
|
5068 | ||
5069 | try { |
|
5070 | if ( !relativeHierarchySelector || hasParent ) { |
|
5071 | return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); |
|
5072 | } |
|
5073 | ||
5074 | } catch(pseudoError) { |
|
5075 | } finally { |
|
5076 | if ( !old ) { |
|
5077 | oldContext.removeAttribute( "id" ); |
|
5078 | } |
|
5079 | } |
|
5080 | } |
|
5081 | } |
|
5082 | ||
5083 | return oldSizzle(query, context, extra, seed); |
|
5084 | }; |
|
5085 | ||
5086 | for ( var prop in oldSizzle ) { |
|
5087 | Sizzle[ prop ] = oldSizzle[ prop ]; |
|
5088 | } |
|
5089 | ||
5090 | // release memory in IE |
|
5091 | div = null; |
|
5092 | })(); |
|
5093 | } |
|
5094 | ||
5095 | (function(){ |
|
5096 | var html = document.documentElement, |
@@ 4343-4448 (lines=106) @@ | ||
4340 | div = null; |
|
4341 | })(); |
|
4342 | ||
4343 | if ( document.querySelectorAll ) { |
|
4344 | (function(){ |
|
4345 | var oldSizzle = Sizzle, |
|
4346 | div = document.createElement("div"), |
|
4347 | id = "__sizzle__"; |
|
4348 | ||
4349 | div.innerHTML = "<p class='TEST'></p>"; |
|
4350 | ||
4351 | // Safari can't handle uppercase or unicode characters when |
|
4352 | // in quirks mode. |
|
4353 | if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { |
|
4354 | return; |
|
4355 | } |
|
4356 | ||
4357 | Sizzle = function( query, context, extra, seed ) { |
|
4358 | context = context || document; |
|
4359 | ||
4360 | // Only use querySelectorAll on non-XML documents |
|
4361 | // (ID selectors don't work in non-HTML documents) |
|
4362 | if ( !seed && !Sizzle.isXML(context) ) { |
|
4363 | // See if we find a selector to speed up |
|
4364 | var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); |
|
4365 | ||
4366 | if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { |
|
4367 | // Speed-up: Sizzle("TAG") |
|
4368 | if ( match[1] ) { |
|
4369 | return makeArray( context.getElementsByTagName( query ), extra ); |
|
4370 | ||
4371 | // Speed-up: Sizzle(".CLASS") |
|
4372 | } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { |
|
4373 | return makeArray( context.getElementsByClassName( match[2] ), extra ); |
|
4374 | } |
|
4375 | } |
|
4376 | ||
4377 | if ( context.nodeType === 9 ) { |
|
4378 | // Speed-up: Sizzle("body") |
|
4379 | // The body element only exists once, optimize finding it |
|
4380 | if ( query === "body" && context.body ) { |
|
4381 | return makeArray( [ context.body ], extra ); |
|
4382 | ||
4383 | // Speed-up: Sizzle("#ID") |
|
4384 | } else if ( match && match[3] ) { |
|
4385 | var elem = context.getElementById( match[3] ); |
|
4386 | ||
4387 | // Check parentNode to catch when Blackberry 4.6 returns |
|
4388 | // nodes that are no longer in the document #6963 |
|
4389 | if ( elem && elem.parentNode ) { |
|
4390 | // Handle the case where IE and Opera return items |
|
4391 | // by name instead of ID |
|
4392 | if ( elem.id === match[3] ) { |
|
4393 | return makeArray( [ elem ], extra ); |
|
4394 | } |
|
4395 | ||
4396 | } else { |
|
4397 | return makeArray( [], extra ); |
|
4398 | } |
|
4399 | } |
|
4400 | ||
4401 | try { |
|
4402 | return makeArray( context.querySelectorAll(query), extra ); |
|
4403 | } catch(qsaError) {} |
|
4404 | ||
4405 | // qSA works strangely on Element-rooted queries |
|
4406 | // We can work around this by specifying an extra ID on the root |
|
4407 | // and working up from there (Thanks to Andrew Dupont for the technique) |
|
4408 | // IE 8 doesn't work on object elements |
|
4409 | } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { |
|
4410 | var old = context.getAttribute( "id" ), |
|
4411 | nid = old || id, |
|
4412 | hasParent = context.parentNode, |
|
4413 | relativeHierarchySelector = /^\s*[+~]/.test( query ); |
|
4414 | ||
4415 | if ( !old ) { |
|
4416 | context.setAttribute( "id", nid ); |
|
4417 | } else { |
|
4418 | nid = nid.replace( /'/g, "\\$&" ); |
|
4419 | } |
|
4420 | if ( relativeHierarchySelector && hasParent ) { |
|
4421 | context = context.parentNode; |
|
4422 | } |
|
4423 | ||
4424 | try { |
|
4425 | if ( !relativeHierarchySelector || hasParent ) { |
|
4426 | return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); |
|
4427 | } |
|
4428 | ||
4429 | } catch(pseudoError) { |
|
4430 | } finally { |
|
4431 | if ( !old ) { |
|
4432 | context.removeAttribute( "id" ); |
|
4433 | } |
|
4434 | } |
|
4435 | } |
|
4436 | } |
|
4437 | ||
4438 | return oldSizzle(query, context, extra, seed); |
|
4439 | }; |
|
4440 | ||
4441 | for ( var prop in oldSizzle ) { |
|
4442 | Sizzle[ prop ] = oldSizzle[ prop ]; |
|
4443 | } |
|
4444 | ||
4445 | // release memory in IE |
|
4446 | div = null; |
|
4447 | })(); |
|
4448 | } |
|
4449 | ||
4450 | (function(){ |
|
4451 | var html = document.documentElement, |