0

我有以下函数将行和单元格附加到空table

        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'

targetTD是被点击的具体内容。

索引rows[x]总是. -1每次我尝试上面的行时,我都会收到一个错误:“无法读取未定义的属性‘单元格’”
我什至尝试手动将每个 Row 的 rowIndex 设置为它应该是的(在函数内部),但无济于事。

cellIndex 出来的很好,但是 rowIndex 是 -1 并且每一个新创建的表行。

我能做些什么来纠正这个问题?

4

1 回答 1

0

这可以通过将<tr>元素附加到<tbody>.

        function createTable(size) {
            var table = document.getElementById("gameTable");
            var tb = document.createElement("tbody");
            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);
                }
                tb.appendChild(tr);
            }
            table.appendChild(tb);
        }
于 2013-04-22T14:17:30.210 回答