如何使用javascript更改html页面的“h1”标签的内容?

时间:2013-06-23 15:21:56

标签: javascript

当使用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);
};

4 个答案:

答案 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";
}

fiddle

答案 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";
}