Skip to content
Permalink
Browse files

Implemented #756, making text(String) really useful

  • Loading branch information
jzaefferer committed Jan 7, 2007
1 parent c78b1fb commit 5acecf6e2814701f9e22f91f17fcb33ef910e88a
Showing with 20 additions and 7 deletions.
  1. +1 −0 ChangeLog.txt
  2. +4 −0 src/jquery/coreTest.js
  3. +15 −7 src/jquery/jquery.js
@@ -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
-----
@@ -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 == "&lt;div&gt;&lt;b&gt;Hello&lt;/b&gt; cruel world!&lt;/div&gt;", "Check escaped text" );
ok( $("#foo").text("<div><b>Hello</b> cruel world!</div>", true)[0].innerHTML == "Hello cruel world!", "Check stripped text" );
});
@@ -526,24 +526,32 @@ 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>&lt;b&gt;Some&lt;/b&gt; 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.
*
* @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, "&lt;").replace(/>/g, "&gt;") );

e = e || this;
var t = "";

0 comments on commit 5acecf6

Please sign in to comment.
You can’t perform that action at this time.