Implemented #756, making text(String) really useful
This commit is contained in:
parent
c78b1fb9a1
commit
5acecf6e28
3 changed files with 20 additions and 7 deletions
|
@ -27,6 +27,7 @@ New and Noteworthy
|
||||||
- Improved docs for append, prepend, before and after, merging the three pairs into one
|
- Improved docs for append, prepend, before and after, merging the three pairs into one
|
||||||
- Improved show/hide animations to show only hidden and hide only visible elements
|
- Improved show/hide animations to show only hidden and hide only visible elements
|
||||||
- Added attr(String,Function) to calculate the value and support for attr("key", "${formula}") syntax, a shortcut for the former
|
- Added attr(String,Function) to calculate the value and support for attr("key", "${formula}") syntax, a shortcut for the former
|
||||||
|
- text(String) now escapes HTML per default and optionally stris tags completely
|
||||||
|
|
||||||
1.0.4
|
1.0.4
|
||||||
-----
|
-----
|
||||||
|
|
4
src/jquery/coreTest.js
vendored
4
src/jquery/coreTest.js
vendored
|
@ -435,3 +435,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() {
|
||||||
|
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" );
|
||||||
|
});
|
22
src/jquery/jquery.js
vendored
22
src/jquery/jquery.js
vendored
|
@ -526,10 +526,19 @@ jQuery.fn = jQuery.prototype = {
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the text contents of all matched elements. This has the same
|
* Set the text contents of all matched elements.
|
||||||
* effect as html().
|
|
||||||
*
|
*
|
||||||
* @example $("p").text("Some new text.");
|
* Similar to html(), but escapes HTML (replace "<" and ">" with their
|
||||||
|
* HTML entities.
|
||||||
|
*
|
||||||
|
* If stripTags argument is set to true, HTML is stripped.
|
||||||
|
*
|
||||||
|
* @example $("p").text("<b>Some</b> new text.");
|
||||||
|
* @before <p>Test Paragraph.</p>
|
||||||
|
* @result <p><b>Some</b> new text.</p>
|
||||||
|
* @desc Sets the text of all paragraphs.
|
||||||
|
*
|
||||||
|
* @example $("p").text("<b>Some</b> new text.", true);
|
||||||
* @before <p>Test Paragraph.</p>
|
* @before <p>Test Paragraph.</p>
|
||||||
* @result <p>Some new text.</p>
|
* @result <p>Some new text.</p>
|
||||||
* @desc Sets the text of all paragraphs.
|
* @desc Sets the text of all paragraphs.
|
||||||
|
@ -537,13 +546,12 @@ 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) {
|
text: function(e, stripTags) {
|
||||||
// A surprisingly high number of people expect the
|
|
||||||
// .text() method to do this, so lets do it!
|
|
||||||
if ( typeof e == "string" )
|
if ( typeof e == "string" )
|
||||||
return this.html( e );
|
return this.html( stripTags ? e.replace(/<\/?[^>]+>/gi, '') : e.replace(/</g, "<").replace(/>/g, ">") );
|
||||||
|
|
||||||
e = e || this;
|
e = e || this;
|
||||||
var t = "";
|
var t = "";
|
||||||
|
|
Loading…
Reference in a new issue