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 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
|
||||
- text(String) now escapes HTML per default and optionally stris tags completely
|
||||
|
||||
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" );
|
||||
});
|
||||
|
||||
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
|
||||
* effect as html().
|
||||
* Set the text contents of all matched elements.
|
||||
*
|
||||
* @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>
|
||||
* @result <p>Some new text.</p>
|
||||
* @desc Sets the text of all paragraphs.
|
||||
|
@ -537,13 +546,12 @@ jQuery.fn = jQuery.prototype = {
|
|||
* @name text
|
||||
* @type String
|
||||
* @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
|
||||
*/
|
||||
text: function(e) {
|
||||
// A surprisingly high number of people expect the
|
||||
// .text() method to do this, so lets do it!
|
||||
text: function(e, stripTags) {
|
||||
if ( typeof e == "string" )
|
||||
return this.html( e );
|
||||
return this.html( stripTags ? e.replace(/<\/?[^>]+>/gi, '') : e.replace(/</g, "<").replace(/>/g, ">") );
|
||||
|
||||
e = e || this;
|
||||
var t = "";
|
||||
|
|
Loading…
Reference in a new issue