我想在我的页面上获取一个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>
答案 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”);`
元素现在就是一个数组。