jquery - 选择/单击时表格行未突出显示

标签 jquery html css

我的应用程序中有多个表,我希望其中一个表的行为有所不同。所以我将 CSS 类绑定(bind)到一个特定的表 ID。这是相同的 fiddle : http://jsfiddle.net/akshaysuri/twya05x1/ 悬停功能工作正常,但单击行时行颜色没有改变。

jQuery:

$("#myTable").on("click", "tr", function(e) {     
    $(this)
        .toggleClass("selected")
        .siblings(".selected")
        .removeClass("selected");
});

CSS:

#myTable tr:hover.selected td,
#myTable tr:hover td {
    background-image: none;
    background-color: #D3D3D3;
}
#myTable tr.selected td {
    background-image: none;
    background-color: red;
}

HTML:

<table id='myTable'>
    <tr>
        <td>AAA</td>
        <td>BBB</td>
        <td>CCC</td>
    </tr>
    <tr>
        <td>DDD</td>
        <td>EEE</td>
        <td>FFF</td>
    </tr>
</table>

最佳答案

试试这个。

function highlight(e) {
  if (selected[0]) selected[0].className = '';
  e.target.parentNode.className = 'selected';
}

var table = document.getElementById('myTable'),
  selected = table.getElementsByClassName('selected');
table.onclick = highlight;
td {
  border: 1px #DDD solid;
  padding: 5px;
  cursor: pointer;
}
.selected {
  background-color: red;
  color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id='myTable'>
  <tr>
    <td>AAA</td>
    <td>BBB</td>
    <td>CCC</td>
  </tr>
  <tr>
    <td>DDD</td>
    <td>EEE</td>
    <td>FFF</td>
  </tr>

</table>

关于jquery - 选择/单击时表格行未突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34127251/

相关文章:

jquery - 从 jquery 中的属性开始,更改一系列遍历 dom 中单个开/关开关的状态

css - 一系列 float div 在中途显示不规则行为

jquery - 将图像放在另一个 img 之上(响应模式)

jquery - 行重新排序在 Datatable jquery 插件中不起作用

javascript - 将段落的每一行包裹在一个跨度中

html - 如何使 div 的宽度适应 flexbox 的内容

php - Ace Editor 自动完成和多语言

HTML5 和 CSS3 的 JavaScript 检查器

jquery - 使用 jquery 丢失 css 悬停

javascript - 如何通过使用 jquery 单击相同的元素来启用和禁用滚动?