Alright, I’ve dabbled in JavaScript before, but the most useful thing I’ve written is a CSS style-switcher. So I’m somewhat new to this. Let’s say I have HTML code like this:
<div id="foo">
<div class="bar">
Hello world!
</div>
</div>
How would I change Hello world! to Goodbye world!?
I know how document.getElementsByClassName and document.getElementById work, but I would like to get more specific. Sorry if this has been asked before.
Advertisement
Answer
Well, first you need to select the elements with a function like getElementById.
var targetDiv = document.getElementById("foo").getElementsByClassName("bar")[0];
getElementById only returns one node, but getElementsByClassName returns a node list. Since there is only one element with that class name (as far as I can tell), you can just get the first one (that’s what the [0] is for—it’s just like an array).
Then, you can change the html with .textContent.
targetDiv.textContent = "Goodbye world!";
var targetDiv = document.getElementById("foo").getElementsByClassName("bar")[0];
targetDiv.textContent = "Goodbye world!";<div id="foo">
<div class="bar">
Hello world!
</div>
</div>