首页 > 解决方案 > javascript突出显示多行

问题描述

我已经看遍了,但找不到一个好的答案。所以我想要做的是突出显示表格上的多行然后如果你点击突出显示的行,它就会被取消突出显示。

所有这些都对我有用。我遇到的问题是,当我出于某种原因取消突出显示一行时,它不会再次突出显示。

 function highlight_row() {

        var table = document.getElementById("display-table");
        var cells = table.getElementsByTagName('td');

        for (var i = 0; i < cells.length; i++) {

            var cell = cells[i];

                cell.onclick = function () {

                    var rowId = this.parentNode.rowIndex;


                    var rowSelected = table.getElementsByTagName('tr')[rowId];
                    rowSelected.className += "selected";
                    $(cell).toggleClass('selected');

                }

        }
    }

我已经用 $(this) 更改了 $(cell) 并且可以正常工作,但只会重新突出显示我单击的单元格而不是整行。

我在这里输了。

谢谢

标签: javascriptjquery

解决方案


如果要突出显示整行,则需要获取父 tr

            cell.onclick = function () {
                $(this).parent('tr').toggleClass('selected');
            }

推荐阅读