How to update the text content of a DOM element in JavaScript

In last article, we looked at how to update the HTML markup of a DOM element in vanilla JavaScript. In this brief tutorial, you'll learn how to get and set the text of an element.

JavaScript provides two properties, innerText and textContent, to get and set the text contents of an HTML element and all its child nodes.

If you set a new value of innerText or textContent, all child nodes will be removed and replaced with a single text node containing the specified string.

Let us say we have the following <p> element:

<p id="intro">My name is <b>John Doe</b>!</p>

The following example shows how to get the text content of the above element:

// grab element
const elem = document.querySelector('#intro')

// get text content
console.log(elem.innerText)
// OR
console.log(elem.textContent)

// My name is John Doe!

To completely replace the existing text contents, just set a new value for innerText:

// replace existing text
elem.innerText = 'Hey there! I am Atta'

The innerText property is very similar to the textContent property. However, there are two differences:

  1. innerText returns the text contents all elements except <script> and <style> elements, while textContent returns text contents of all elements.
  2. innerText can not be used to get text contents of elements that are hidden with CSS, but textContent can be used.

Read Next: How to create a DOM element using JavaScript

✌️ Like this article? Follow me on Twitter and LinkedIn. You can also subscribe to RSS Feed.

You might also like...

Digital Ocean

The simplest cloud platform for developers & teams. Start with a $200 free credit.

Buy me a coffee ☕

If you enjoy reading my articles and want to help me out paying bills, please consider buying me a coffee ($5) or two ($10). I will be highly grateful to you ✌️

Enter the number of coffees below:

✨ Learn to build modern web applications using JavaScript and Spring Boot

I started this blog as a place to share everything I have learned in the last decade. I write about modern JavaScript, Node.js, Spring Boot, core Java, RESTful APIs, and all things web development.

The newsletter is sent every week and includes early access to clear, concise, and easy-to-follow tutorials, and other stuff I think you'd enjoy! No spam ever, unsubscribe at any time.