},
detach: function() {
+ var parent = this.parent();
this._$.detach();
+ this.triggerChangeEvent('nodeDetached', {parent: parent});
return this;
},
},
parent: function() {
- return this.nativeNode.parentNode ? this.document.createElementNode(this.nativeNode.parentNode) : null;
+ var parentNode = this.nativeNode.parentNode;
+ if(parentNode && parentNode.nodeType === Node.ELEMENT_NODE) {
+ return this.document.createElementNode(parentNode);
+ }
+ return null;
+ },
+
+ parents: function() {
+ var parent = this.parent(),
+ parents = parent ? parent.parents() : [];
+ if(parent) {
+ parents.unshift(parent);
+ }
+ return parents;
},
after: function(node) {