Question

How do I change/replace the text: "Hello" using javascript to say "Goodbye" instead?

<h1 class="titlearea win-type-ellipsis" id="title">
     <span class="pagetitle" >
            Hello
     </span>
</h1>
Was it helpful?

Solution

document.getElementsByClassName("pagetitle")[0].innerHTML = "Goodbye";

Here is a working fiddle.

OTHER TIPS

document.getElementById('title').getElementsByTagName('span')[0].innerHTML = 'Goodbye';

If you're happy to give legacy browsers the finger (preferable):

document.querySelector('#title .pagetitle').innerHTML = 'Goodbye';

Support:

Chrome  Firefox (Gecko)  Internet Explorer  Opera  Safari (WebKit)
1       3.5 (1.9.1)      8                  10     3.2 (525.3)
        bug 416317                                 WebKit bug 16587

See also: document.querySelectorAll

document.getElementsByClassName("pagetitle")[0].textContent = "Goodbye";

or

document.getElementsByClassName("pagetitle")[0].innerHTML = "Goodbye";

or

document.getElementById('title').getElementsByTagName('span')[0].textContent = 'Goodbye';

or

document.getElementById('title').getElementsByTagName('span')[0].innerHTML = 'Goodbye';

or

document.getElementById('title').getElementsByClassName("pagetitle")[0].textContent = "Goodbye";

or

document.getElementById('title').getElementsByClassName("pagetitle")[0].innerHTML = "Goodbye";

Here is JSBin

Change by using getElementsByTagName('span')

document.getElementsByTagName('span')[0].innerHTML = 'Goodbye';

Using innerHTML is not recommended according to XSS vulnerability, textContent is not supported by older version of browsers (ex. IE8). So will be better to create a TextNode

element = document.getElementByClassName("pagetitle");
txt = document.createTextNode("GoodBye");
element.appendChild(txt);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top