javascript - 更改表格行的颜色 onclick 并更改回 onclick

标签 javascript jquery css

我正在寻找一种方法来更改 TR onclick 的背景颜色,然后再将其更改回 onclick。喜欢选择和取消选择一行。

<table>
  <thead>
    <tr>
      <th>No</th>
      <th>Column1</th>
      <th>Column2</th>
      <th>Column3</th>
      <th>Column4</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>First item</td>
      <td>Good quality</td>
      <td>Europe</td>
      <td>Cheap</td>
    </tr>
  </tbody>
</table>

我发现了大约 20 个脚本,它们都做了几乎相同的事情:一旦单击该行改变了背景颜色,您就无法通过再次单击将其返回。

我当前的表格 CSS 代码:

table {border-collapse: collapse; background: #041c32; }
tr:nth-of-type(odd) {background: #041c32;}
tr:nth-of-type(even) {background: #062949;}
th {background: #1b558e; color: #041c32;}
tr:hover {color:#ffc000; background-color:#000;}

如有任何帮助,我们将不胜感激!

最佳答案

可以添加一个 css 类 highlighted 来定义当行被点击和高亮时你想要的颜色,然后如果你使用 jQuery 你可以简单地做

$('table tr').on('click', () => $(this).toggleClass('highlighted'));

这个点击,如果类不存在,将添加类,如果存在,将删除类,给定你想要的行为

关于javascript - 更改表格行的颜色 onclick 并更改回 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48958024/

相关文章:

javascript - Anime-js 悬停动画在移动太快时闪烁

javascript - 对于 Array,在 javascript 中使用 map() 和 reduce() 而不是 forEach() 效率更高吗?

jQuery 提交事件阻止表单在 IE9 中提交

javascript - 侧边栏导航 - 单击侧边导航外部关闭侧边栏

JQuery 对话框 : Show Message in Dialog Box After Selecting Confirm Option

html - 是否可以将背景 RGB 与 URL 结合起来?

asp.net - 为什么在 asp.net 中使用表单例份验证时会忽略本地样式?

javascript - 为什么这个 JS 语法有效(额外的大括号)?

javascript - 如何在 ejs 文件中使用外部 javascript 文件

html - 如何显示具有动态宽度的空 DIV?