/*!
- * Sizzle CSS Selector Engine - v0.9.3
+ * Sizzle CSS Selector Engine - v1.0
* Copyright 2009, The Dojo Foundation
* Released under the MIT, BSD, and GPL Licenses.
* More information: http://sizzlejs.com/
}
return ret;
};
-} else if ( Array.prototype.indexOf ) {
- var indexOf = Array.prototype.indexOf,
- allSort = document.getElementsByTagName("*");
-
+} else if ( "sourceIndex" in document.documentElement ) {
sortOrder = function( a, b ) {
- var ret = indexOf.call( allSort, a ) - indexOf.call( allSort, b );
+ var ret = a.sourceIndex - b.sourceIndex;
if ( ret === 0 ) {
hasDuplicate = true;
}
return ret;
};
-} else if ( "sourceIndex" in document.documentElement ) {
+} else if ( document.createRange ) {
sortOrder = function( a, b ) {
- var ret = a.sourceIndex - b.sourceIndex;
+ var aRange = a.ownerDocument.createRange(), bRange = b.ownerDocument.createRange();
+ aRange.selectNode(a);
+ aRange.collapse(true);
+ bRange.selectNode(b);
+ bRange.collapse(true);
+ var ret = aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
if ( ret === 0 ) {
hasDuplicate = true;
}
// EXPOSE
jQuery.find = Sizzle;
-jQuery.filter = Sizzle.filter;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.filters;
}).length;
};
-jQuery.multiFilter = function( expr, elems, not ) {
+jQuery.filter = jQuery.multiFilter = function( expr, elems, not ) {
if ( not ) {
expr = ":not(" + expr + ")";
}