Javascript 如何从表格单元格中清除以前的内容
我正在尝试向我的表中添加一个“清除”函数,用于计算总数。这样,当人们第一次按下进行计算的按钮,然后改变产品数量,然后再次按下时,先前的答案将被清除并添加新的内容 我试过这样做:Javascript 如何从表格单元格中清除以前的内容,javascript,Javascript,我正在尝试向我的表中添加一个“清除”函数,用于计算总数。这样,当人们第一次按下进行计算的按钮,然后改变产品数量,然后再次按下时,先前的答案将被清除并添加新的内容 我试过这样做: function clear () { var table = document.getElementById("pricetable"); var rows = table.getElementsByTagName("tr"); for (var i = 0; i < rows.leng
function clear () {
var table = document.getElementById("pricetable");
var rows = table.getElementsByTagName("tr");
for (var i = 0; i < rows.length; i++) {
rows[i].className = "";
var cells = rows[i].getElementsByTagName("td");
for (var j = 1; j < cells.length - 1; j++) {
cells[j].className = "";
}
}
}
但什么也没发生。我在想,这可能与我动态创建了最后一行和最后一列(两者都包括总计)有关。行的id为lastRow,列没有id
我不想使用jquery或向html文件添加类、ID等。有人知道我的代码出了什么问题吗?
className
只是清除了样式设置
您正在查找innerHTML
:
...
for (var j = 1; j < cells.length - 1; j++) {
cells[j].innerHTML = "";
}
...
之后
之后
另外,我刚刚注意到您的
for
循环从1开始。希望这是有意的;) 我可以看到您正在将className
设置为nothing,而不是将innerHTML
设置为nothing
尝试替换此:
cells[j].className = "";
为此:
cells[j].innerHTML = "";
可能是因为您正在设置
className
属性,而您需要使用其他东西吗?欢迎您在一个很好的问题上做一些非常好的工作!谢谢现在,它清除了所有内容。但我希望最后一列和最后一行第四和第五(即最后一个)单元格被清除。。你知道我应该如何更改代码吗?不客气!访问n
th单元格可能是您在for
循环中要做的事情,从您想要影响的范围开始和结束。否则,您将不得不通过索引访问数组的成员,即单元格[5]。innerHTML=''
和单元格[cells.length-1]。innerHTML=''
。是的,谢谢<代码>单元格[5]。innerHTML=“”代码>按我希望的方式清除最后一列。但在第4列中,我只希望清除最后一行的单元格。。我尝试使用var last=document.getElementByID(“lastRow”).cells[7]访问它
然后last.innerHTML=“”代码>但它并没有达到我希望它达到的效果。好吧,我们已经超出了问题的范围(因此社区喜欢每个问题一个主题),但你的思路是正确的-你现在要寻找的是访问行数组:var lastRow=rows[rows.length-1];lastRow.getElementsByTagName('td')[7].innerHTML='
。谢谢,我现在就知道了!
<td class=''>999</td>
<td class='foo'>999</td>
<td class='foo'></td>
cells[j].className = "";
cells[j].innerHTML = "";