diff --git a/src/jqLite.js b/src/jqLite.js index d156ae6d3128..46e0a73c3c54 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 b23e23eb1f05..b1fa6b058207 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -924,8 +924,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]); @@ -934,11 +934,12 @@ describe('jqLite', function() { describe('contents', function() { - it('should select all children nodes', function() { - var root = jqLite('
').html('before-
after-'); + it('should select all types child nodes', function() { + var root = jqLite('
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].data).toEqual(' some comment '); + expect(contents[1].data).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])); } }