我怎样才能确定单元格是同一行的

how can I figure out that cells are of same row

本文关键字:一行 单元格      更新时间:2023-09-26

我有一个 3 列和 7 行的 html 表。当我单击一个单元格时,它的 bg 更改为红色。我想确保每行只选择一个单元格。因此,如果我单击row1中的单元格,该单元格已经选中了一个单元格,我希望取消选择上一个单元格并选择新单元格。我想知道如何确定单元格是同一行。

给定一个表格单元格,其parentNode将是包含行,并且表行具有包含所有单元格集合的 cells 属性。因此,您可以遍历该集合。

function selectCell(cell) {
    var siblings = cell.parentNode.cells;
    for (var i = 0; i < siblings.length; i++) {
        if (i != cell.cellIndex) {
            siblings[i].style.backgroundColor = normalBGColor;
        }
    }
    cell.style.backgroundColor = highlightBGColor;
}

如果您使用的是 jQuery,请在单击处理程序中执行以下操作:

function() {
  $(this).closest('tr').find('td').css('backgroundColor', '');
  $(this).css('backgroundColor', 'red');
}

您可以循环访问行,并在嵌入的 for 循环中循环访问单元格。John Hartsock 在此 stackoverflow 页面上提供的解决方案应该允许您按行和列限定每个单元格。

如何在 javascript 中循环访问表行和单元格?