The read-only wholeText property of the Text interface returns the full text of all Text nodes logically adjacent to the node. The text is concatenated in document order. This allows specifying any text node and obtaining all adjacent text as a single string.

Note: This is similar to call Node.normalize() followed by reading the text value, but without modifying the tree.


A string with the concatenated text.


Suppose you have the following simple paragraph within your webpage:

<p>Through-hiking is great!  <strong>No insipid election coverage!</strong> However, <a href="https://en.wikipedia.org/wiki/Absentee_ballot">casting a ballot</a> is tricky.</p>

You decide you don't like the middle sentence, so you remove it:

const para = document.getElementsByTagName("p")[0]; // Reads the paragraph
para.removeChild(para.childNodes[1]); // Delete the strong element

Now you end up with "Through-hiking is great! However, casting a ballot is tricky.", with two nodes before the hyperlink:

  1. Through-hiking is great!
  2. However,

To get those two nodes at once, you would call para.childNodes[0].wholeText:

console.log( "'" + para.childNodes[0].wholeText + "'" ); // 'Through-hiking is great!   However, '


DOM Standard
# ref-for-dom-text-wholetext①

Browser compatibility

BCD tables only load in the browser

See also

  • The Text interface it belongs to.