1 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
其實(shí) ... 我沒太弄明白你的程序要實(shí)現(xiàn)什么效果 ...
所以只好按照標(biāo)題來回答你 ... 如何累加表格中單元格的數(shù)據(jù) ...
寫了一個(gè)簡(jiǎn)單的程序來作為示例 ... 如下 ...
<table id="thetable" border="1" cellspacing="1" cellpadding="7" width="50%"> <caption>Sunyanzi's Test</caption> <tbody> <tr><td>1</td><td>2</td></tr> <tr><td>3</td><td>4</td></tr> <tr><td>5</td><td>6</td></tr> <tr><td>7</td><td>8</td></tr> <tr><td>9</td><td>10</td></tr> <!-- the row below is used to fill sum data ... --> <tr><th></th><th></th></tr> </tbody></table><script type="text/javascript"> /* get our table ... */ var table = document.getElementById( "thetable" ); /* last line not contain data ... kick it out ... */ var totalRows = table.rows.length -1; /* initialize two variables as basket ... */ var firstColumn = secondColumn = 0; /* traverses from first row to last ... */ for ( var i = 0; i < totalRows; ++ i ) { /* add new value to our basket ... */ firstColumn += Number( table.rows[i].cells[0].innerHTML ) || 0; secondColumn += Number( table.rows[i].cells[1].innerHTML ) || 0; } /* put the result in last row ... */ table.rows[i].cells[0].innerHTML = firstColumn; table.rows[i].cells[1].innerHTML = secondColumn;</script>
順便提一下你的代碼里面的幾個(gè)小問題 ... 希望能對(duì)你有些幫助 ...
首先是表格中的 rows
和 cells
數(shù)組 ... 第一個(gè)元素的索引都是 0 而不是 1 ...
比如表格的第一行 ... 應(yīng)該是 i = 0
而不是 i = 1
...
第一列和第二列 ... 應(yīng)該是 cells[0]
和 cells[1]
而不是 cells[1]
和 cells[2]
...
以及你用到了 innerText ... 在 Gecko 內(nèi)核的瀏覽器上是沒有這個(gè)屬性的 ...
Gecko 上類似的屬性叫 textContent ... 當(dāng)然其他瀏覽器也不支持 ...
所以當(dāng)你的 td
標(biāo)簽中只包含數(shù)字不包含其他 HTML 標(biāo)簽的時(shí)候 ...
完全可以用兼容性更好的 innerHTML
來處理 ...
基本上我一眼能看到的就這些 ...
我覺得既然你能寫到這里 ... 知道問題所在絕對(duì)就可以把程序改好了 ...
恩加油~
添加回答
舉報(bào)