aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/jquery/jquery.js13
-rw-r--r--src/selector/selectorTest.js7
2 files changed, 17 insertions, 3 deletions
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 842052537..98cbf372e 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -1725,8 +1725,17 @@ jQuery.extend({
merge: function(first, second) {
// We have to loop this way because IE & Opera overwrite the length
// expando of getElementsByTagName
- for ( var i = 0; second[i]; i++ )
- first.push(second[i]);
+
+ // Also, we need to make sure that the correct elements are being returned
+ // (IE returns comment nodes in a '*' query)
+ if ( jQuery.browser.msie ) {
+ for ( var i = 0; second[i]; i++ )
+ if ( second[i].nodeType != 8 )
+ first.push(second[i]);
+ } else
+ for ( var i = 0; second[i]; i++ )
+ first.push(second[i]);
+
return first;
},
diff --git a/src/selector/selectorTest.js b/src/selector/selectorTest.js
index ac07bf32d..7644fbea8 100644
--- a/src/selector/selectorTest.js
+++ b/src/selector/selectorTest.js
@@ -1,8 +1,13 @@
module("selector");
test("element", function() {
- expect(8);
+ expect(9);
ok( $("*").size() >= 30, "Select all" );
+ var all = $("*"), good = true;
+ for ( var i = 0; i < all.length; i++ )
+ if ( all[i].nodeType == 8 )
+ good = false;
+ ok( good, "Select all elements, no comment nodes" );
t( "Element Selector", "p", ["firstp","ap","sndp","en","sap","first"] );
t( "Element Selector", "body", ["body"] );
t( "Element Selector", "html", ["html"] );