我正在尝试通过Javascript向特定列中的每个单元格添加文本。像处理每个第8个TD一样,用于添加文本。
告诉我这里做错了什么/为什么它没有出现在我的表中:
<script type="text/javascript">
window.onload = function inventorytable() {
var tableRows = document.getElementById
("inventorytable").getElementsByTagName("tbody")[0].getElementsByTagName("tr");
for(var i = 0, l = tableRows.length; i < l; i++) {
tds = tableRows.getElementsByTagName("td");
var processor = tds[8].innerHTML += " Ghz"
var ram = tds[9].innerHTML += " GB"
var rspeed = tds[11].innerHTML += " Mhz"
}}
</script>
答案 0 :(得分:4)
您忘记参考 i 第一行:
tds = tableRows[i].getElementsByTagName("td");
我建议使用:
window.onload = function inventorytable() {
var tableRows = document.getElementById("inventorytable").rows;
//or .tBodies[0].rows
for(var i=0, l=tableRows.length; i < l; i++) {
var tds = tableRows[i].cells;
/*processor*/ tds[8].innerHTML += " Ghz"
/*ram */ tds[9].innerHTML += " GB"
/* rspeed */ tds[11].innerHTML += " Mhz"
}
}
不要定义未使用的变量。如果您想澄清其用途,请使用注释。
此外,我已将.getElementsByTagName
替换为.rows
和.cells
。
<强>更新强>
JavaScript集从零开始。因此,如果您想参考第4个单元格,请使用.cells[3]
。
在你之前的回答中,你已经表现出了一个小提琴。 请参阅http://jsfiddle.net/ndfh2/ 。
正如你所看到的,第一行也是后缀。要在第一行中不向这些单元格添加后缀,请在一个位置启动计数器:for( var i=1; .. ; .. )
您当前的代码可能无效,因为您的行没有十二(12)行。请记住,tds[ number ]
处的数字等于行中单元格的索引,从零开始。