我看了一遍,但找不到一个好的答案。所以我想要做的是突出显示一个表上的多行然后如果你点击一个突出显示的行,它将被取消突出显示。
所有这些对我有用。我遇到的问题是当我因某种原因取消突出显示一行时它不会再次突出显示。
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)更改了$(单元格),但这只能重新突出显示我单击的单元格而不是整行。
我在这里输了。
谢谢
如果要突出显示整行,则需要获取父tr
cell.onclick = function () {
$(this).parent('tr').toggleClass('selected');
}