aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Resig <jeresig@gmail.com>2007-01-08 01:26:48 +0000
committerJohn Resig <jeresig@gmail.com>2007-01-08 01:26:48 +0000
commit789f0e1093beb559bb2acef708cc4b27c00f557d (patch)
tree6126ca202f45e8039d9cd894d29e2323d6a1ea39
parentd0e8a2452ebd30abe403d402e813513cef675694 (diff)
downloadjquery-789f0e1093beb559bb2acef708cc4b27c00f557d.tar.gz
jquery-789f0e1093beb559bb2acef708cc4b27c00f557d.zip
.text( String ) now works as you'd expect it to, plus it's much faster and smaller - which is good.
-rw-r--r--src/jquery/coreTest.js4
-rw-r--r--src/jquery/jquery.js28
2 files changed, 11 insertions, 21 deletions
diff --git a/src/jquery/coreTest.js b/src/jquery/coreTest.js
index 73621cd17..a18973903 100644
--- a/src/jquery/coreTest.js
+++ b/src/jquery/coreTest.js
@@ -433,7 +433,7 @@ test("removeAttr(String", function() {
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 == "&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" );
});
diff --git a/src/jquery/jquery.js b/src/jquery/jquery.js
index 4f1306aeb..f6e2adec4 100644
--- a/src/jquery/jquery.js
+++ b/src/jquery/jquery.js
@@ -528,10 +528,8 @@ jQuery.fn = jQuery.prototype = {
/**
* Set the text contents of all matched elements.
*
- * Similar to html(), but escapes HTML (replace "<" and ">" with their
- * HTML entities.
- *
- * If stripTags argument is set to true, HTML is stripped.
+ * Similar to html(), but escapes HTML (replace "<" and ">" with their
+ * HTML entities).
*
* @example $("p").text("<b>Some</b> new text.");
* @before <p>Test Paragraph.</p>
@@ -546,23 +544,15 @@ 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, stripTags) {
- if ( typeof e == "string" )
- return this.html( stripTags ? e.replace(/<\/?[^>]+>/gi, '') : e.replace(/</g, "&lt;").replace(/>/g, "&gt;") );
-
- e = e || this;
- var t = "";
- 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;
+ text: function(e) {
+ var type = this.length && this[0].innerText == undefined ?
+ "textContent" : "innerText";
+
+ return e == undefined ?
+ this.length && this[0][ type ] :
+ this.each(function(){ this[ type ] = e; });
},
/**