.text( String ) now works as you'd expect it to, plus it's much faster and smaller - which is good.
This commit is contained in:
parent
d0e8a2452e
commit
789f0e1093
4
src/jquery/coreTest.js
vendored
4
src/jquery/coreTest.js
vendored
|
@ -433,7 +433,7 @@ test("removeAttr(String", function() {
|
||||||
ok( $('#mark').removeAttr("class")[0].className == "", "remove class" );
|
ok( $('#mark').removeAttr("class")[0].className == "", "remove class" );
|
||||||
});
|
});
|
||||||
|
|
||||||
test("text(String, Boolean)", function() {
|
test("text(String)", function() {
|
||||||
|
expect(1);
|
||||||
ok( $("#foo").text("<div><b>Hello</b> cruel world!</div>")[0].innerHTML == "<div><b>Hello</b> cruel world!</div>", "Check escaped text" );
|
ok( $("#foo").text("<div><b>Hello</b> cruel world!</div>")[0].innerHTML == "<div><b>Hello</b> cruel world!</div>", "Check escaped text" );
|
||||||
ok( $("#foo").text("<div><b>Hello</b> cruel world!</div>", true)[0].innerHTML == "Hello cruel world!", "Check stripped text" );
|
|
||||||
});
|
});
|
||||||
|
|
26
src/jquery/jquery.js
vendored
26
src/jquery/jquery.js
vendored
|
@ -528,10 +528,8 @@ jQuery.fn = jQuery.prototype = {
|
||||||
/**
|
/**
|
||||||
* Set the text contents of all matched elements.
|
* Set the text contents of all matched elements.
|
||||||
*
|
*
|
||||||
* Similar to html(), but escapes HTML (replace "<" and ">" with their
|
* Similar to html(), but escapes HTML (replace "<" and ">" with their
|
||||||
* HTML entities.
|
* HTML entities).
|
||||||
*
|
|
||||||
* If stripTags argument is set to true, HTML is stripped.
|
|
||||||
*
|
*
|
||||||
* @example $("p").text("<b>Some</b> new text.");
|
* @example $("p").text("<b>Some</b> new text.");
|
||||||
* @before <p>Test Paragraph.</p>
|
* @before <p>Test Paragraph.</p>
|
||||||
|
@ -546,23 +544,15 @@ jQuery.fn = jQuery.prototype = {
|
||||||
* @name text
|
* @name text
|
||||||
* @type String
|
* @type String
|
||||||
* @param String val The text value to set the contents of the element to.
|
* @param String val The text value to set the contents of the element to.
|
||||||
* @param Boolean stripTags (optional) Wheather to strip or only escape tags
|
|
||||||
* @cat DOM/Attributes
|
* @cat DOM/Attributes
|
||||||
*/
|
*/
|
||||||
text: function(e, stripTags) {
|
text: function(e) {
|
||||||
if ( typeof e == "string" )
|
var type = this.length && this[0].innerText == undefined ?
|
||||||
return this.html( stripTags ? e.replace(/<\/?[^>]+>/gi, '') : e.replace(/</g, "<").replace(/>/g, ">") );
|
"textContent" : "innerText";
|
||||||
|
|
||||||
e = e || this;
|
return e == undefined ?
|
||||||
var t = "";
|
this.length && this[0][ type ] :
|
||||||
for ( var j = 0, el = e.length; j < el; j++ ) {
|
this.each(function(){ this[ type ] = e; });
|
||||||
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;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue