如何在所有行中更改innerHTML?
此脚本仅更改第一行中的innerHTML。
<table>
<tr><td id="X">0</td></tr>
<tr><td id="X">0</td></tr>
</table>
<script>
if (document.getElementById("X").innerHTML == 0)
{
document.getElementById('X').innerHTML = '1';
}
</script>
&#13;
答案 0 :(得分:2)
您应该使用class
属性,而不是id
。您应该在页面上拥有元素的唯一ID。
所以应该是这样的:
<table>
<tr>
<td class="X">0</td>
</tr>
<tr>
<td class="X">0</td>
</tr>
</table>
<script>
var els = document.getElementsByClassName("X");
for (var i = 0; i < els.length; i++) {
els[i].innerHTML = '1';
}
</script>
答案 1 :(得分:0)
你不应该使用id。 id应该是唯一的。改为使用类。
<table>
<tr><td class="X">0</td></tr>
<tr><td class="X">0</td></tr>
</table>
<script>
var tds = document.getElementsByClassName("X");
for(var i = 0; i < tds.length; i++)
{
tds[i].innerHTML = "1";
}
</script>
答案 2 :(得分:0)
替换此脚本并检查
<script>
var tableRow = document.getElementsByTagName('td');
for(var i=0; i< tableRow.length; i++){
//Your logic here
tableRow[i].innerHTML = 1;
}
</script>
答案 3 :(得分:0)
不要将id用于多个选择器。尝试使用querySelectorAll()
和forEach
逐个迭代元素。更具体地说,你可以使用classname
document.querySelectorAll('tr td').forEach(function(a){
a.innerHTML = a.innerHTML.trim() == '0'?'1': a.innerHTML;
})
<table>
<tr><td id="X" >0</td></tr>
<tr><td id="X" >0</td></tr>
</table>
答案 4 :(得分:0)
我应该是唯一的,像这样使用
var tds = document.querySelectorAll("#X td");
for (var prop in tds) {
if(tds[prop].innerHTML == "0"){
tds[prop].innerHTML = "1"
}
}
Before
<table border="1" width="100px">
<tr><td>0</td></tr>
<tr><td>0</td></tr>
</table>
After
<table id="X" border="1" width="100px">
<tr><td>0</td></tr>
<tr><td>0</td></tr>
</table>
答案 5 :(得分:0)
首先,你不应该给同一个&#39; id&#39;在DOM中属性多次。不好的做法。你可以分配相同的课程&#39;代替。强>
但即使这是你的设置元素,那么使用以下代码将解决你的问题
var tdList = document.getElementsByTagName('td');
for(var i=0; i< tdList.length; i++){
if(tdList[i].innerHTML.trim()=='0' && tdList[i].getAttribute('id') == "X")
tdList[i].innerHTML = '1'
}
答案 6 :(得分:0)
$FilePathRelativeToProjectRoot$
$FileNameWithoutExtension$
$FileDirPathFromParent(js)$
&#13;
答案 7 :(得分:0)
解决方案&lt; &GT; &lt; = =&gt;
<table>
<tr><td id="X">9</td></tr>
<tr><td id="X">10</td></tr>
<tr><td id="X">11</td></tr>
</table>
<script>
var tdList = document.getElementsByTagName('td');
for(var i=0; i< tdList.length; i++){
if(parseInt(tdList[i].innerHTML.trim())<'10' && tdList[i].getAttribute('id') == "X")
tdList[i].innerHTML = 'Answer is here'
}
</script>