如何使用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);