], function($, _, Backbone, events) {
'use strict';
-
+/* globals Node */
var TEXT_NODE = Node.TEXT_NODE;
detach: function() {
var next;
- if(parent && this.isSurroundedByTextElements()) {
+ if(this.parent() && this.isSurroundedByTextElements()) {
next = this.next();
this.prev().appendText(next.getText());
next.detach();
this._$.prepend(nativeNode);
}),
+ insertAtIndex: function(nativeNode, index) {
+ var contents = this.contents();
+ if(index < contents.length) {
+ return contents[index].before(nativeNode);
+ } else if(index === contents.length) {
+ return this.append(nativeNode);
+ }
+ },
+
unwrapContent: function() {
var parent = this.parent();
if(!parent) {
createDocumentNode: function(from) {
if(!(from instanceof Node)) {
if(from.text !== undefined) {
+ /* globals document */
from = document.createTextNode(from.text);
} else {
var node = $('<' + from.tagName + '>');