X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6a7e4474cba9d8be4b2ec445e10f1691f7277c50..f5240829880f87e0cf581c6a296e436fdef0ef80:/src/ext-core/src/core/DomQuery.js
diff --git a/src/ext-core/src/core/DomQuery.js b/src/ext-core/src/core/DomQuery.js
index cf396664..8932e293 100644
--- a/src/ext-core/src/core/DomQuery.js
+++ b/src/ext-core/src/core/DomQuery.js
@@ -1,5 +1,5 @@
/*!
- * Ext JS Library 3.2.0
+ * Ext JS Library 3.3.0
* Copyright(c) 2006-2010 Ext JS, Inc.
* licensing@extjs.com
* http://www.extjs.com/license
@@ -35,7 +35,7 @@ All selectors, attribute filters and pseudos below can be combined infinitely in
E[foo$=bar] has an attribute "foo" that ends with "bar"
E[foo*=bar] has an attribute "foo" that contains the substring "bar"
E[foo%=2] has an attribute "foo" that is evenly divisible by 2
- E[foo!=bar] has an attribute "foo" that does not equal "bar"
+ E[foo!=bar] attribute "foo" does not equal "bar"
Pseudo Classes:
@@ -286,17 +286,23 @@ Ext.DomQuery = function(){
ri = -1,
useGetStyle = custom == "{",
fn = Ext.DomQuery.operators[op],
- a,
- innerHTML;
+ a,
+ xml,
+ hasXml;
+
for(var i = 0, ci; ci = cs[i]; i++){
// skip non-element nodes.
if(ci.nodeType != 1){
continue;
}
+ // only need to do this for the first node
+ if(!hasXml){
+ xml = Ext.DomQuery.isXml(ci);
+ hasXml = true;
+ }
- innerHTML = ci.innerHTML;
// we only need to change the property names if we're dealing with html nodes, not XML
- if(innerHTML !== null && innerHTML !== undefined){
+ if(!xml){
if(useGetStyle){
a = Ext.DomQuery.getStyle(ci, attr);
} else if (attr == "class" || attr == "className"){
@@ -436,10 +442,10 @@ Ext.DomQuery = function(){
compile : function(path, type){
type = type || "select";
- // setup fn preamble
+ // setup fn preamble
var fn = ["var f = function(root){\n var mode; ++batch; var n = root || document;\n"],
- mode,
- lastPath,
+ mode,
+ lastPath,
matchers = Ext.DomQuery.matchers,
matchersLn = matchers.length,
modeMatch,