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)
使用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)