- // A surprisingly high number of people expect the
- // .text() method to do this, so lets do it!
- if ( typeof e == "string" )
- return this.html( e );
-
- e = e || this;
- var t = "";
- for ( var j = 0, el = e.length; j < el; j++ ) {
- var r = e[j].childNodes;
- for ( var i = 0, rl = r.length; i < rl; i++ )
- if ( r[i].nodeType != 8 )
- t += r[i].nodeType != 1 ?
- r[i].nodeValue : jQuery.fn.text([ r[i] ]);
- }
- return t;
+ var type = this.length && this[0].innerText == undefined ?
+ "textContent" : "innerText";
+
+ return e == undefined ?
+ this.length && this[0][ type ] :
+ this.each(function(){ this[ type ] = e; });