javascript - 如何在JavaScript中动态填充表中获取td的innerHTML

标签 javascript html

我创建了一个表并从数组中填充了值,因此我有 5x5 的表,其中每个 td 将填充一个单词。该单词来自数组 memo 并且下面的所有代码都可以正常工作。

var myTableDiv = document.getElementById("results")
var table = document.createElement('TABLE')
var tableBody = document.createElement('TBODY')

table.border = '1'
table.appendChild(tableBody);

//TABLE ROWS
for (i = 0; i < this.memo.length; i++) {
    var tr = document.createElement('TR');
    for (j = 0; j < this.memo[i].length; j++) {
        var td = document.createElement('TD');
        td.onclick = function () {
            check();
        }
        td.appendChild(document.createTextNode(this.memo[i][j]));
        tr.appendChild(td)
    }
    tableBody.appendChild(tr);
}  
myTableDiv.appendChild(table);

我有一个问题:我想单击单元格并获取属于该单元格的单词。 为此,我在创建 td 元素时尝试了 onclick 元素

   td.onclick = function () {
            check();
        }

函数检查应该打印被单击的单元格的innerHTML

function check() {
    var a = td.innerHTML;
    console.log(a);
}

但它总是给我错误的文本 - 数组中的最后一个已填充的文本。 我该如何解决它?...

最佳答案

您始终会获得数组中的最后一个 td,因为设置为 td 的最后一个值是最后一个单元格的值。您需要将一个参数(例如 event)添加到 onclick 的回调函数中,然后您的单击元素将在 event.target 中引用>。然后你就可以获得它的innerHTML。

关于javascript - 如何在JavaScript中动态填充表中获取td的innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48245463/

相关文章:

javascript - Webpack 捆绑许可证合规性?

javascript - 如何在iframe中控制img的宽度

html - Chrome 与 Firefox 中的背景颜色

html - 在不同屏幕上查看网站时,某些元素不合适?

php - Jquery (Datatables) 功能没有完全初始化? PHP/MySQL

javascript - jQuery UI 可排序 : possible to sort on <button> sub-elements

javascript - 用循环填充选择

php - 发布表单时发送提交按钮的值

javascript - OO Javascript 调试 - 带过渡的图像交换

javascript - 使 react-router 不破坏 Jest (reactJs) 测试