Fixed the issues with .text() working incorrectly.

This commit is contained in:
John Resig 2007-01-14 21:09:43 +00:00
parent 2591319660
commit 866187fff6

20
src/jquery/jquery.js vendored
View file

@ -544,12 +544,20 @@ jQuery.fn = jQuery.prototype = {
* @cat DOM/Attributes * @cat DOM/Attributes
*/ */
text: function(e) { text: function(e) {
var type = this.length && this[0].innerText == undefined ? if ( typeof e == "string" )
"textContent" : "innerText"; return this.empty().append( document.createTextNode( e ) );
else {
return e == undefined ? e = e || this;
jQuery.map(this, function(a){ return a[ type ]; }).join("") : var t = "";
this.each(function(){ this[ type ] = e; }); 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;
}
}, },
/** /**