![](/img/trans.png)
[英]How to access second cell of each row in a html table using javascript?
[英]how to loop in html table and change the value of each cell in javascript
我的輸入表已經由用戶填寫。 現在我要做的是在我的表上循環並使用我的 JavaScript 更改每個單元格td
的值。 我的一些單元格有輸入字段,而其他單元格只有td
標簽之間的文本。 我在表格上正確循環,並使用表達式table.rows[R].cells[C].children[0].value = value;
但我不知道如何更改沒有輸入字段的 td 標簽之間只有文本的單元格! 試圖寫table.rows[R].cells[C].value = value
但它不起作用:我的表格代碼:
var table = document.getElementById('table');
var rowCount = table.rows.length;
var colCount = document.getElementById('table').rows[0].cells.length;
for (var r = 1; r < rowCount; r++) {
for (var c = 1; c < colCount - 1; c++) {
table.rows[r].cells[c].children[0].value = somevalue; // this works with cells that has input field but not with cells that has not
table.rows[r].cells[c] value = somevalue; // tried this line but not working
}
}
根據您的解釋,我了解您要修改所有 td 標記(輸入子項或文本子項)的值。 在您的代碼段中,要實現這一目標有兩個問題:
對於您的“主要”問題,即使某些單元格包含輸入元素和某些文本節點,您似乎也將單元格視為相同。 您可以通過添加一些邏輯來簡單地解決這個問題,並根據單元格是否有子級(輸入字段)或沒有(文本節點)來分別處理它。 對於文本節點,我們只需修改 innerHTML。
如果我理解正確,這是一個應該為您完成工作的片段:
var table = document.getElementById("table");
var rowCount = table.rows.length;
var colCount = document.getElementById("table").rows[0].cells.length;
var somevalue = "modified value";
for (var r = 1; r < rowCount; r++) {
for (var c = 0; c < colCount; c++) {
const cell = table.rows[r].cells[c];
if (cell.children.length) {
cell.children[0].value = somevalue;
} else {
cell.innerHTML = somevalue;
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.