我正在尝试将表中的元素映射到数组的元素,以便用户可以编辑内容,查看表中的结果 - 并更新数组。我想使用简单数组[row] [col]表示法来访问数组。所以我将id分配给id =“0-0”到id =“99-9”的每个元素。我使用的代码如下:
r=0;c=4;
rowStr+= "<td id='"+r+"-"+c+"'></td>";
// HTML shows: <td id="0-4" </td> etc.
这很好用。我可以在创建它时将id记录到我的控制台,当我在调试器中检查HTML时,它会显示在页面中,如上面的注释所示。
但无论我做什么,我都不能使用id来访问/编辑单元格内容。我试过jQuery:
var idStr="#id"+r+"-"+c; $(idStr).text("content");
。 。和HTML Dom方法:
document.getElementById("0-4").innerHTML="content";
在这两种情况下代码都会停止,我收到调试器错误:
Uncaught Error: Syntax error, unrecognized expression: '#0-4'
提前感谢任何可以告诉我这里发生了什么的人。
答案 0 :(得分:0)
我建议使用原生HTMLTable API。它允许您通过索引引用表格单元格和行。例如,您可以访问第三行的第二个TD元素
table.rows[2].cells[1].innerHTML = 'New content'; // index starts from 0
在这种情况下,您不需要一堆ID。
您甚至可以创建一个非常简单的辅助函数来通过索引选择TD:
function getCell(row, cell) {
return tableElement.rows[row].cells[cell];
}
getCell(2, 3).innerHTML = 'Cell 4 in third row';