git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make sure that disconnected nodes aren't sorted/uniqued. Fixes #5791.
[jquery.git]
/
src
/
traversing.js
diff --git
a/src/traversing.js
b/src/traversing.js
index
a09ae19
..
d0dd52d
100644
(file)
--- a/
src/traversing.js
+++ b/
src/traversing.js
@@
-146,9
+146,9
@@
jQuery.fn.extend({
jQuery.makeArray( selector ),
all = jQuery.merge( this.get(), set );
jQuery.makeArray( selector ),
all = jQuery.merge( this.get(), set );
- return this.pushStack( set[0] && (set[0].setInterval || set[0].nodeType === 9 || (set[0].parentNode && set[0].parentNode.nodeType !== 11)) ?
- jQuery.unique( all ) :
- all );
+ return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?
+ all :
+ jQuery.unique( all ) );
},
andSelf: function() {
},
andSelf: function() {
@@
-156,6
+156,12
@@
jQuery.fn.extend({
}
});
}
});
+// A painfully simple check to see if an element is disconnected
+// from a document (should be improved, where feasible).
+function isDisconnected( node ) {
+ return !node || !node.parentNode || node.parentNode.nodeType === 11;
+}
+
jQuery.each({
parent: function( elem ) {
var parent = elem.parentNode;
jQuery.each({
parent: function( elem ) {
var parent = elem.parentNode;