Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript高亮显示多行_Javascript_Jquery - Fatal编程技术网

javascript高亮显示多行

javascript高亮显示多行,javascript,jquery,Javascript,Jquery,我已经找遍了,但找不到好答案。 所以我想做的是突出显示表上的多行 然后,如果单击高亮显示的行,它将取消高亮显示 所有这些对我都有用。我遇到的问题是,由于某种原因取消高亮显示某行时,该行将不会再次高亮显示 function highlight_row() { var table = document.getElementById("display-table"); var cells = table.getElementsByTagName('td');

我已经找遍了,但找不到好答案。 所以我想做的是突出显示表上的多行 然后,如果单击高亮显示的行,它将取消高亮显示

所有这些对我都有用。我遇到的问题是,由于某种原因取消高亮显示某行时,该行将不会再次高亮显示

 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');

                }

        }
    }
函数高亮显示_行(){
var table=document.getElementById(“显示表”);
var cells=table.getElementsByTagName('td');
对于(变量i=0;i
我已经用$(这个)和$(那个)替换了$(单元格),但只重新突出显示我单击的单元格,而不是整行

我在这里不知所措


谢谢

如果您想突出显示整行,您需要获得parent tr

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

天啊!!!我不敢相信我花了一辈子的时间试图弄明白这一点,而我实际上是在用其余的代码阻碍自己。这也完全有道理。