当使用javascript加载页面时,我需要更改html文件中所有“h1”标记的内容。
所以我写下面的代码
window.onload = function () {
var h1html = document.createElement("h1");
var h1htmltext = document.createTextNode("header 1");
h1html.appendChild(h1htmltext);
document.getElementsByTagName("h1").appendChild(h1html);
};
答案 0 :(得分:3)
如果您确定只有一个h1
标记,则只需执行
window.onload = function () {
document.getElementsByTagName("h1")[0].innerHTML = "header 1";
}
如果存在多个h1
标记,则可以执行
window.onload = function () {
var h1Elems = document.getElementsByTagName("h1");
var pos;
for (pos in h1Elems) {
h1Elems[pos].innerHTML = "header 1";
}
}
答案 1 :(得分:2)
使用此:
for(var i = 0, elems = document.getElementsByTagName('h1'); i < elems.length; i++) {
elems[i].innerHTML = "new";
}
答案 2 :(得分:0)
您需要更改每个元素的innerHTML,因此
function changeall(){
var headers=document.getElementsByTagName("h1");
var newheadertext="hello";
for(var i in headers){
headers[i].innerHTML=newheadertext;
}
}
答案 3 :(得分:0)
getElementsByTagName
返回一个节点列表;你需要循环它。
var headers = document.getElementsByTagName("h1");
for(var i = 0; i < headers.length; i++) {
var header = headers[i];
var text = document.createTextNode("header 1");
while(header.childNodes.length) {
header.removeChild(header.firstChild);
}
header.appendChild(text);
}
我在那里做了一些假设:
如果您不需要旧浏览器支持,请使用textContent
:
var headers = document.getElementsByTagName("h1");
for(var i = 0; i < headers.length; i++) {
headers[i].textContent = "header 1";
}