diff options
| author | Igor Minar | 2012-11-24 01:34:01 +0100 |
|---|---|---|
| committer | Igor Minar | 2012-11-26 15:45:04 +0100 |
| commit | 96ed9ff59a454486c88bdf92ad9d28ab8864b85e (patch) | |
| tree | ac5ffeb929d1a2f4f0d08d6f7a1f60f44c405097 | |
| parent | b9a9f91fbf99b71cfde434b6277f4c7d2533556f (diff) | |
| download | angular.js-96ed9ff59a454486c88bdf92ad9d28ab8864b85e.tar.bz2 | |
fix(jqLite): support append on document fragment
previously jquery didn't support append on this node type, now it does
(since 1.8.x) so I'm adding this to jqlite as well.
| -rw-r--r-- | src/jqLite.js | 3 | ||||
| -rw-r--r-- | test/jqLiteSpec.js | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/jqLite.js b/src/jqLite.js index 26be5977..38bf9437 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 76a2c5a8..01f9b9ae 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('<p>foo</p>')).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('<p>some text node</p>').contents(); + expect(root.append('<p>foo</p>')).toBe(root); expect(root.children().length).toBe(0); }); }); |
