javascript - 获取用于 actionEvent 处理的父 div 的最简单方法?

标签 javascript html css

我正在制作一个按钮二维矩阵,格式如下:

<table id="board">
        <tr class="row 0">
            <td class="col 0"><button></button><td>
            <td class="col 1"><button></button><td>
            <td class="col 2"><button></button><td>
        </tr>
        <tr class="row 1">
            <td class="col 0"><button></button><td>
            <td class="col 1"><button></button><td>
            <td class="col 2"><button></button><td>
        </tr>
        <tr class="row 2">
            <td class="col 0"><button></button><td>
            <td class="col 1"><button></button><td>
            <td class="col 2"><button></button><td>
</table>

我想在用户点击按钮时实现一个功能。我的想法是从按下的按钮中获取行和列,但我不确定该怎么做。在我的 js 脚本中,我想做类似的事情:

document.querySelector('button').onclick = move("insert button row", "insert button column");

我想知道如何找到父 div 或能够完成此任务的东西。

最佳答案

您需要遍历所有按钮。并且您必须为 onclick 分配一个函数,而不是调用该函数。在该函数内部,您可以使用 this 来引用被单击的按钮,使用 parentElement 来获取包含元素,以及使用 rowIndexcellIndex 获取它们在表中的位置。

document.querySelectorAll('button').forEach(function(b) {
    b.addEventListener('click', function() {
        var col = this.parentElement.cellIndex;
        var row = this.parentElement.parentElement.rowIndex;
        move(row, col);
    });
});

关于javascript - 获取用于 actionEvent 处理的父 div 的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55154244/

相关文章:

html - Bootstrap 网格对齐问题

html - CSS 标题图像(调整大小问题)

javascript - 如何在C#中网页从一个页面导航到另一个页面时执行代码

javascript - 带有前导零的数字在 JavaScript 中被更改

javascript - setTimeout函数触发回调两次

javascript - 检查innerHTML是否为空

javascript - 根据其中的文本设置大小内容可编辑的 div

html - "&#013;"不会在 chrome 上生成 <br>

html - 如何在内容页面中固定高度 100%? CSS 和分区

html - 如何将 iron selector 与 iron pages 链接起来?