git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CHILD positions were being cached improperly. Tweaked it and added a test to make...
[jquery.git]
/
src
/
selector.js
diff --git
a/src/selector.js
b/src/selector.js
index
59ca2f6
..
8af3a0d
100644
(file)
--- a/
src/selector.js
+++ b/
src/selector.js
@@
-6,7
+6,7
@@
*/
(function(){
*/
(function(){
-var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|[^[\]]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]+['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,
done = 0,
toString = Object.prototype.toString;
done = 0,
toString = Object.prototype.toString;
@@
-332,11
+332,12
@@
var Expr = Sizzle.selectors = {
CLASS: function(match, curLoop, inplace, result, not){
match = " " + match[1].replace(/\\/g, "") + " ";
CLASS: function(match, curLoop, inplace, result, not){
match = " " + match[1].replace(/\\/g, "") + " ";
- for ( var i = 0; curLoop[i] != null; i++ ) {
- if ( curLoop[i] ) {
- if ( not ^ (" " + curLoop[i].className + " ").indexOf(match) >= 0 ) {
+ var elem;
+ for ( var i = 0; (elem = curLoop[i]) != null; i++ ) {
+ if ( elem ) {
+ if ( not ^ (" " + elem.className + " ").indexOf(match) >= 0 ) {
if ( !inplace )
if ( !inplace )
- result.push( curLoop[i] );
+ result.push( elem );
} else if ( inplace ) {
curLoop[i] = false;
}
} else if ( inplace ) {
curLoop[i] = false;
}
@@
-494,7
+495,7
@@
var Expr = Sizzle.selectors = {
CHILD: function(elem, match){
var type = match[1], parent = elem.parentNode;
CHILD: function(elem, match){
var type = match[1], parent = elem.parentNode;
- var doneName = "child" + parent.childNodes.length;
+ var doneName = match[0];
if ( parent && (!parent[ doneName ] || !elem.nodeIndex) ) {
var count = 1;
if ( parent && (!parent[ doneName ] || !elem.nodeIndex) ) {
var count = 1;
@@
-831,7
+832,7
@@
var posProcess = function(selector, context){
}
return Sizzle.filter( later, tmpSet );
}
return Sizzle.filter( later, tmpSet );
-}
+};
// EXPOSE
jQuery.find = Sizzle;
// EXPOSE
jQuery.find = Sizzle;