// 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;
}
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." );
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 ) {