From 2a473a181f02b0183a6c333619999beaf73c87c0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Mon, 8 Jul 2013 13:02:48 +0200 Subject: [PATCH] Adding new document element before another one --- modules/documentCanvas/canvas/canvas.test3.js | 9 +++++++++ modules/documentCanvas/canvas/documentElement.js | 5 +++++ 2 files changed, 14 insertions(+) diff --git a/modules/documentCanvas/canvas/canvas.test3.js b/modules/documentCanvas/canvas/canvas.test3.js index a92ddb3..ac37e30 100644 --- a/modules/documentCanvas/canvas/canvas.test3.js +++ b/modules/documentCanvas/canvas/canvas.test3.js @@ -146,6 +146,15 @@ describe('Canvas', function() { expect(children.length).to.equal(2); expect(children[1].sameNode(added)); }); + + it('can put new Nodeelement before another element', function() { + var c = canvas.fromXML('
'), + div = c.doc().children()[0], + added = div.before({tag: 'header', klass: 'some.class'}), + children = c.doc().children(); + expect(children.length).to.equal(2); + expect(children[0].sameNode(added)); + }); }); describe('wrapping', function() { diff --git a/modules/documentCanvas/canvas/documentElement.js b/modules/documentCanvas/canvas/documentElement.js index d1973b8..5457b83 100644 --- a/modules/documentCanvas/canvas/documentElement.js +++ b/modules/documentCanvas/canvas/documentElement.js @@ -75,6 +75,11 @@ $.extend(DocumentNodeElement.prototype, { this.$element.append(to_append); return documentElementFromHTMLElement(to_append); }, + before: function(params) { + var to_append = DocumentNodeElement.createDOM(params.tag, params.klass); + this.$element.before(to_append); + return documentElementFromHTMLElement(to_append); + }, after: function(params) { var to_append = DocumentNodeElement.createDOM(params.tag, params.klass); this.$element.after(to_append); -- 2.20.1