use*_*222 3 html javascript css jquery
我需要在鼠标悬停时突出显示表格中单元格的行和列.生成的表格是动态的,我从数据库中获取值并显示在html表格中.表的结构完全如下所示,我无法修改现有结构.请使用我现有的html代码建议如何使用jquery/css突出显示表中选定的行和列.请找到小提琴http://jsfiddle.net/0w9yo8x6/78/.
以下是html代码:
<div>
<table border="1px">
<tr>
<td>
<table style="width:100%">
<tr title="Table Header">
<td>
Title
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1px">
<tr>
<td></td>
<td bgcolor="grey">Header1</td>
<td bgcolor="grey">Header2</td>
<td bgcolor="grey">Header3</td>
<td bgcolor="grey">Header4</td>
<td bgcolor="grey">Header5</td>
</tr>
<tr>
<td bgcolor="grey">Row1</td>
<td>
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="grey">Row2</td>
<td>
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="grey">Row3</td>
<td>
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
突出显示特定的行和列.对于我用作nth-child()选择器一部分的列.希望这可以帮助.
注意:我.myCell在第二级嵌套表的tds中添加了类,以便更轻松地使用jquery的选择器名称.
$(document).ready(function() {
$('.myCell').on('mouseover', function() {
$(this).closest('tr').addClass('highlight');
$(this).closest('table').find('.myCell:nth-child(' + ($(this).index() + 1) + ')').addClass('highlight');
});
$('.myCell').on('mouseout', function() {
$(this).closest('tr').removeClass('highlight');
$(this).closest('table').find('.myCell:nth-child(' + ($(this).index() + 1) + ')').removeClass('highlight');
});
});Run Code Online (Sandbox Code Playgroud)
.highlight {
background-color:lightgray;
}Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<table border="1px">
<tr>
<td>
<table style="width:100%">
<tr title="Table Header">
<td>
Title
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table border="1px">
<tr>
<td></td>
<td bgcolor="grey">Header1</td>
<td bgcolor="grey">Header2</td>
<td bgcolor="grey">Header3</td>
<td bgcolor="grey">Header4</td>
<td bgcolor="grey">Header5</td>
</tr>
<tr>
<td bgcolor="grey" class="myCell">Row1</td>
<td class="myCell">
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell1
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell1
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="grey" class="myCell">Row2</td>
<td class="myCell">
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell2
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell2
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="grey" class="myCell">Row3</td>
<td class="myCell">
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
<td class="myCell">
<table>
<tr>
<td>
Cell3
</td>
</tr>
<tr>
<td class='innerCell'>
Inner cell3
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>Run Code Online (Sandbox Code Playgroud)
由于您将表嵌套两层,因此您的 CSS 应该如下所示:
table table tr:hover td {
background-color: #fbc93d;
}
Run Code Online (Sandbox Code Playgroud)
这是一个基于您的小提琴的示例:
| 归档时间: |
|
| 查看次数: |
8237 次 |
| 最近记录: |