+ getFirstTextNode: function() {
+ return this._getTextNode('first');
+ },
+
+ getLastTextNode: function() {
+ return this._getTextNode('last');
+ },
+
+ _getTextNode: function(which) {
+ var contents = this.contents(),
+ toret;
+ if(which === 'last') {
+ contents = contents.reverse();
+ }
+ contents.some(function(node) {
+ if(node.nodeType === Node.TEXT_NODE) {
+ toret = node;
+ return true;
+ }
+ toret = node.getLastTextNode();
+ return !!toret;
+ });
+
+ return toret;
+ },
+