aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core.js9
-rw-r--r--test/unit/manipulation.js7
2 files changed, 12 insertions, 4 deletions
diff --git a/src/core.js b/src/core.js
index 16cd9a7c7..8ed56b7e8 100644
--- a/src/core.js
+++ b/src/core.js
@@ -271,9 +271,14 @@ jQuery.extend( {
// Do not traverse comment nodes
ret += jQuery.text( node );
}
- } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+ }
+ if ( nodeType === 1 || nodeType === 11 ) {
return elem.textContent;
- } else if ( nodeType === 3 || nodeType === 4 ) {
+ }
+ if ( nodeType === 9 ) {
+ return elem.documentElement.textContent;
+ }
+ if ( nodeType === 3 || nodeType === 4 ) {
return elem.nodeValue;
}
diff --git a/test/unit/manipulation.js b/test/unit/manipulation.js
index d51c0665c..edb0ff2c0 100644
--- a/test/unit/manipulation.js
+++ b/test/unit/manipulation.js
@@ -30,9 +30,9 @@ function manipulationFunctionReturningObj( value ) {
QUnit.test( "text()", function( assert ) {
- assert.expect( 5 );
+ assert.expect( 6 );
- var expected, frag, $newLineTest;
+ var expected, frag, $newLineTest, doc;
expected = "This link has class=\"blog\": Simon Willison's Weblog";
assert.equal( jQuery( "#sap" ).text(), expected, "Check for merged text of more then one element." );
@@ -52,6 +52,9 @@ QUnit.test( "text()", function( assert ) {
assert.equal( $newLineTest.text(), "test\ntesty", "text() does not remove new lines (trac-11153)" );
$newLineTest.remove();
+
+ doc = new DOMParser().parseFromString( "<span>example</span>", "text/html" );
+ assert.equal( jQuery( doc ).text(), "example", "text() on HTMLDocument (gh-5264)" );
} );
QUnit.test( "text(undefined)", function( assert ) {