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])); } }