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