如何获得多个div getElementById

时间:2013-09-16 21:29:53

标签: html getelementbyid

我想在我的页面上获取一个div数组并替换它们中的一些html,但我只能得到第一个DIV。我使用了getElementsByName并获得了相同的结果。 我确信有一个简单的解决方案,但我找不到它。 这是关于jsfiddle的代码 - http://jsfiddle.net/Gt4p2/

<html>
<head>
<script>

function repl() {
        var x=document.getElementById("post-content").innerHTML;
        var y=x.replace(/Description/g,"<b>Description</b><br/>");  
        for (var i=0; i<x.length; i++) {
               document.getElementById('post-content').innerHTML=y;
        }
}
    onload = repl;
</script>
</head>
<body>

                    <div id="post-content">
                        <p>Description Power: 1W*3pcs LED color: RGB color deterioration, red, yellow, blue, green, white </p>
                    </div>

                    <div id="post-content">
                        <p>Description Power: 1W*3pcs LED color: RGB color deterioration, red, yellow, blue, green, white </p>
                    </div>
                    <div id="post-content">
                        <p>Description Power: 1W*3pcs LED color: RGB color deterioration, red, yellow, blue, green, white </p>
                    </div>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

使用getElementsByTagName()。

在你的小提琴中试试这个,它会起作用:

function repl() {
        var x=document.getElementById("post-content").innerHTML;
        var y=x.replace(/Description/g,"<b>Description</b><br/>");
        var divs = document.getElementsByTagName("div");
        for (var i=0; i<divs.length; i++) {
               divs[i].innerHTML=y;
        }
}
repl();

如果你想使用getElementsByName(),请注意你必须给DIV一个“name”属性,而不是“id”。

答案 1 :(得分:1)

如果您可以更改html标记,请使用class而不是id。 id应该在你的html

中是唯一的

`&LT; div class =“post-content”&gt;                         

描述功率:1W * 3颗LED颜色:RGB颜色变差,红色,黄色,蓝色,绿色,白色

&LT; / DIV&GT;

var elements = document.getElementsByClassName(“post-content”);`

元素现在就是一个数组。