更改所有行中的innerHTML

时间:2017-06-28 12:31:06

标签: javascript innerhtml

如何在所有行中更改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;
&#13;
&#13;

8 个答案:

答案 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>

Here is JsFiddle

答案 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>

工作小提琴:https://jsfiddle.net/u4g2L8b6/

答案 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)

&#13;
&#13;
$FilePathRelativeToProjectRoot$
$FileNameWithoutExtension$
$FileDirPathFromParent(js)$
&#13;
&#13;
&#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>