diff --git a/src/jqLite.js b/src/jqLite.js index 26be5977dc03..38bf94378eae 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -659,8 +659,9 @@ forEach({ append: function(element, node) { forEach(new JQLite(node), function(child){ - if (element.nodeType === 1) + if (element.nodeType === 1 || element.nodeType === 11) { element.appendChild(child); + } }); }, diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js index 76a2c5a87485..01f9b9ae8138 100644 --- a/test/jqLiteSpec.js +++ b/test/jqLiteSpec.js @@ -955,9 +955,14 @@ describe('jqLite', function() { expect(root.append('text')).toEqual(root); expect(root.html()).toEqual('text'); }); - it('should not append anything if parent node is not of type element', function() { + it('should append to document fragment', function() { var root = jqLite(document.createDocumentFragment()); expect(root.append('

foo

')).toBe(root); + expect(root.children().length).toBe(1); + }); + it('should not append anything if parent node is not of type element or docfrag', function() { + var root = jqLite('

some text node

').contents(); + expect(root.append('

foo

')).toBe(root); expect(root.children().length).toBe(0); }); });