javascript - 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) 并且可以正常工作,但只会重新突出显示我单击的单元格而不是整行。
我在这里输了。
谢谢
解决方案
如果要突出显示整行,则需要获取父 tr
cell.onclick = function () {
$(this).parent('tr').toggleClass('selected');
}
推荐阅读
- r - 如何有效地将 dpoibin 分解为 R 中的和数?
- android - 在依赖项中添加 Volley
- r - 如何准确再现历史 ORS-Isochrones?
- android - 我的应用程序在超级用户请求后冻结
- java - 错误:类 kotlin.reflect.jvm.internal.FunctionCaller$FieldSetter
- spring - Spring Mongo Repository - 在 mongo Repository 上实现软删除的最佳方法?
- c - 指针和指针位置的区别
- python - 在 Python 中调用函数进行测试时出现问题?
- c# - 为什么 HttpClient 不返回 302 代码?
- wpf - 在 MouseOver XAML (WPF) 上更改按钮上的图像