如何使用 javascript 替换/更改内部<h1></h1>的标题文本?



如何使用javascript来更改/替换文本:"Hello"以表示"Goodbye"?

<h1 class="titlearea win-type-ellipsis" id="title">
     <span class="pagetitle" >
            Hello
     </span>
</h1>
document.getElementsByClassName("pagetitle")[0].innerHTML = "Goodbye";

这是一把正在工作的小提琴。

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

如果您愿意为传统浏览器指手画脚(首选):

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

支持:

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

另请参阅:document.querySelectorAll

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

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

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

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

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

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

这是JSBin

使用getElementsByTagName('span')进行更改

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

根据XSS漏洞,不建议使用innerHTML,旧版本的浏览器(例如IE8)不支持textContent。所以最好创建一个TextNode

element = document.getElementByClassName("pagetitle");
txt = document.createTextNode("GoodBye");
element.appendChild(txt);

最新更新