diff --git a/src/jqLite.js b/src/jqLite.js
index 8305f0c30f2c..a4e86612694d 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -647,14 +647,14 @@ forEach({
children: function(element) {
var children = [];
forEach(element.childNodes, function(element){
- if (element.nodeName != '#text')
+ if (element.nodeType === 1)
children.push(element);
});
return children;
},
contents: function(element) {
- return element.childNodes;
+ return element.childNodes || [];
},
append: function(element, node) {
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index 01f9b9ae8138..5d65d8ccbe8d 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -925,8 +925,8 @@ describe('jqLite', function() {
describe('children', function() {
- it('should select non-text children', function() {
- var root = jqLite('
').html('before-
after-
');
+ it('should only select element nodes', function() {
+ var root = jqLite('
before-
after-
');
var div = root.find('div');
var span = root.find('span');
expect(root.children()).toJqEqual([div, span]);
@@ -936,10 +936,11 @@ describe('jqLite', function() {
describe('contents', function() {
it('should select all children nodes', function() {
- var root = jqLite('
').html('before-
after-
');
+ var root = jqLite('
').html('before-
after-
');
var contents = root.contents();
- expect(contents.length).toEqual(4);
- expect(jqLite(contents[0]).text()).toEqual('before-');
+ expect(contents.length).toEqual(5);
+ expect(contents[0].textContent).toEqual(' some comment ');
+ expect(contents[1].textContent).toEqual('before-');
});
});
diff --git a/test/testabilityPatch.js b/test/testabilityPatch.js
index ac22c72c05cd..d55ff0159ca3 100644
--- a/test/testabilityPatch.js
+++ b/test/testabilityPatch.js
@@ -78,7 +78,7 @@ function dealoc(obj) {
function cleanup(element) {
element.unbind().removeData();
- for ( var i = 0, children = element.children() || []; i < children.length; i++) {
+ for ( var i = 0, children = element.contents() || []; i < children.length; i++) {
cleanup(jqLite(children[i]));
}
}