如何使用jquery突出显示表中的行

Did*_*ick 4 html javascript css jquery

我有一个简单的jquery脚本来突出显示悬停时的DOM元素.但是这个脚本无法突出显示我的表格行,细胞没有问题.

在我的脚本中,我需要能够选择任何类型的元素,而不仅仅是表格,因此我无法根据表格选择编写解决方案,例如DataTables.有什么建议?

$(document).ready(function() {
  $("body").on('mouseover', function(event) {
    var highlightTarget = $(event.target);
    highlightTarget.addClass("highlight");

  }).on('mouseout', function(event) {
    $(event.target).removeClass('highlight');
  });
});
Run Code Online (Sandbox Code Playgroud)
.highlight {
  border: 1px solid green;
  background-color: darkseagreen;
  z-index: 99999;
}
.main {
  border-top: 1px solid #9EBACF;
  border-bottom: 1px solid #FFFFFF;
  border-left: 1px solid #9EBACF;
  border-right: 1px solid #FFFFFF;
}
.cat {
  border-top: 1px solid #FFFFFF;
  border-bottom: 1px solid #9EBACF;
  border-left: 1px solid #FFFFFF;
  border-right: 1px solid #9EBACF;
}
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="main" cellspacing="0" cellpadding="4">
  <tr>
    <td class="cat">data 1</td>
    <td class="cat">data 2</td>
  </tr>
  <tr>
    <td class="cat">data 3</td>
    <td class="cat">data 4</td>
  </tr>
  <tr>
    <td class="cat">data 5</td>
    <td class="cat">data 6</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

Joh*_*pit 5

使用CSS执行此操作的一种方法是使用:hover选择器.

.hoverable:hover {
    background: rgba(150, 150, 150, 0.5);
}
Run Code Online (Sandbox Code Playgroud)

课程的所有元素.hoverable都将突出显示.需要注意的是在下面的例子中,在徘徊中的第一行,都<tr><td>突出.在第二行中,仅<td>突出显示,而在第三行中,仅<tr>突出显示.

.hoverable:hover {
  background: rgba(180, 180, 180, 0.5);
}
Run Code Online (Sandbox Code Playgroud)
<table class="main" cellspacing="0" cellpadding="4">
  <tr class="hoverable">
    <td class="hoverable">data 1</td>
    <td class="hoverable">data 2</td>
  </tr>
  <tr>
    <td class="hoverable">data 3</td>
    <td class="hoverable">data 4</td>
  </tr>
  <tr class="hoverable">
    <td>data 5</td>
    <td>data 6</td>
  </tr>
</table>
Run Code Online (Sandbox Code Playgroud)