-1

In javaScript, how can I set an html nodes inner text and inner html without using jQuery?

Here is what I have tried:

function setInnerText(className, data) {
    document.getElementsByClassName(className).innerText(data);
}

function setInnerHTML(className, data) {
    document.getElementsByClassName(className).innerHTML(data);
}

May I please have some help with this?

Thanks.

Tushar
  • 85,780
  • 21
  • 159
  • 179
Simon
  • 7,991
  • 21
  • 83
  • 163
  • Note that *innerText* is not a W3C standard, the (standards compliant) equivalent is *textContent*. – RobG Oct 21 '15 at 03:53

1 Answers1

1

getElementsByClassName returns a collection of elements. To set the innerText of first element, use

document.getElementsByClassName(className)[0].innerText(data);

You can also use querySelector

document.querySelector('.' + className).innerText = data;

To set the innerText of all the elements,

var elements = document.getElementsByClassName(className);
// var elements = document.querySelectorAll('.' + className);

for (var i = 0, len = elements.length; i < len; i++) {
    elements[i].innerText = data;
}
Tushar
  • 85,780
  • 21
  • 159
  • 179