0

Is it possible to add text to multiple elements using javascript?

This is the original content.

<div class="container">I am Arun</div>
<div class="container">I am Arun</div>
<div class="container">I am Arun</div>

This is what happens when you add text using javascript.

<div class="container">Hello, I am Arun</div>
<div class="container">Hello, I am Arun</div>
<div class="container">Hello, I am Arun</div>

I tried searching for answers online and many people mentioned the following methods.

.createTextNode()
.insertAdjacentText()
.insertAdjacentHTML()
Node.textContent

But they cannot be applied to multiple elements, i.e. document.getElementsByClassName('container').

May I ask if my understanding is correct? Any help is appreciated in advance!

Lorraine1996
  • 195
  • 1
  • 1
  • 12
  • You can use @AbsoluteBeginner's answer and still use `var divs = document.getElementsByClassName('container')`. – iAmOren Oct 11 '20 at 22:39

2 Answers2

1

Use document.querySelectorAll.

My suggestion:

var divs = document.querySelectorAll(".container");

for (var i = 0; i < divs.length; i++) {
  divs[i].innerHTML = "Hello, " + divs[i].innerHTML;
}
<div class="container">I am Arun</div>
<div class="container">I am Arun</div>
<div class="container">I am Arun</div>

About document.querySelectorAll: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

AbsoluteBeginner
  • 2,160
  • 3
  • 11
  • 21
1

Using CSS Pseudo-element ::before

.container::before {
  content: 'Hello, '
}
<div class="container">I am Arun</div>
<div class="container">I am Arun</div>
<div class="container">I am Arun</div>
User863
  • 19,346
  • 2
  • 17
  • 41