我有以下功能追加行和单元格创建一个表时为空table
:的rowIndex使用Javascript
function createTable(size) {
var table = document.getElementById("gameTable");
for (var i=0; i<size; i++) {
var tr = document.createElement("tr");
for (var j=0; j<size; j++) {
var td = document.createElement("td");
tr.appendChild(td);
}
table.appendChild(tr);
tr.rowIndex = i;
}
}
到目前为止好。
我的问题是,后来,当我试图达到表内的特定细胞:
var x = target.parentNode.rowIndex;
var y = target.cellIndex;
table.rows[x].cells[y].innerHTML = 'blah'
target
是用户点击特定的TD
。
rows[x]
索引总是-1
。每次我尝试上面的行时,我得到一个错误:“不能读属性”单元格的未定义“
我甚至尝试手动设置每行的rowIndex它应该是(在函数内),但无济于事。
cellIndex出来很好,但rowIndex是-1,并且每一个新创建的表行。
我该怎么做才能纠正这个问题?
当您尝试访问表时,您的代码在哪里? – skyline3000 2013-04-22 13:50:14
你真的应该追加到tbody而不是表格元素。 – epascarello 2013-04-22 13:54:09
我编辑过,使其更清晰。一个表格元素已经存在,我只需添加TR和TD。 – frrlod 2013-04-22 13:56:02