Jquery 高亮显示div中两个表内的行和列
我在一个div中有两个表,我想同时突出显示两个表上的同一行。现在我只设法让它突出显示表1中的列和行 (示例:如果我将鼠标悬停在Jquery 高亮显示div中两个表内的行和列,jquery,html,twitter-bootstrap,Jquery,Html,Twitter Bootstrap,我在一个div中有两个表,我想同时突出显示两个表上的同一行。现在我只设法让它突出显示表1中的列和行 (示例:如果我将鼠标悬停在tbl-2中的“第2行第3列”上,tbl-1中的第2行应高亮显示,反之亦然) 另外,我如何让它也突出显示th标记 <div class="row"> <div class="span2 pull-left"> <table class="table table-bordered pull-left" id="compare-tbl-1
tbl-2
中的“第2行第3列”上,tbl-1
中的第2行应高亮显示,反之亦然)
另外,我如何让它也突出显示th
标记
<div class="row">
<div class="span2 pull-left">
<table class="table table-bordered pull-left" id="compare-tbl-1">
<thead>
<th>Column 1</th>
</thead>
<tbody>
<tr>
<td>
Row1
</td>
</tr>
<tr>
<td>
Row2
</td>
</tr>
<tr>
<td>
Row3
</td>
</tr>
<tr>
<td>
Row4
</td>
</tr>
<tr>
<td>
Row5
</td>
</tr>
</tbody>
</table>
</div>
<div class="span10 pull-right">
<table class="table table-bordered" id="compare-tbl-2">
<thead>
<th>Column 1</th><th>Column 2</th><th>Column 3</th><th>Column 4</th><th>Column 5</th>
</thead>
<tbody>
<tr>
<td>Row1 Column1</td><td>Row1 Column2</td><td>Row1 Column3</td><td>Row1 Column4</td><td>Row1 Column5</td>
</tr>
<tr>
<td>Row2 Column1</td><td>Row2 Column2</td><td>Row2 Column3</td> <td>Row2 Column4</td><td>Row2 Column5</td>
</tr>
<tr>
<td>Row3 Column1</td><td>Row3 Column2</td><td>Row3 Column3</td><td>Row3 Column4</td><td>Row3 Column5</td>
</tr>
<tr>
<td>Row4 Column1</td><td>Row4 Column2</td><td>Row4 Column3</td><td>Row4 Column4</td><td>Row4 Column5</td>
</tr>
<tr>
<td>Row5 Column1</td><td>Row5 Column2</td><td>Row5 Column3</td><td>Row5 Column4</td><td>Row5 Column5</td>
</tr>
</tbody>
</table>
</div>
第1栏
第1行
第2行
第3行
第4行
第5行
第1列第2列第3列第4列第5列
行1列1行1列2行1列3行1列4行1列5
第2行第1列第2列第2列第2列第3行第2列第4行第2列第5列
行3列1行3列2行3列3行3列4行3列5
行4列1行4列2行4列3行4列4行4列5
行5列1行5列2行5列3行5列4行5列5
$(“#compare-tbl-2 td”)。悬停(函数(){
$(this.parents('table').find('td:nth child(+($(this.index()+1)+'))。
add($(this.parent()).addClass('compare-hover');
},
函数(){
$(this.parents('table').find('td:nth child(+($(this.index()+1)+'))。
添加($(this.parent()).removeClass('compare-hover');
});
尝试用以下内容替换脚本:
$("#compare-tbl-2 td").hover(function() {
$(this).closest('tr').addClass('compare-hover');
var idx = $(this).closest('tr')[0].sectionRowIndex + 1;
$('#compare-tbl-1').find('tr:nth-child(' + idx + ')').addClass('compare-hover');
},
function() {
$(this).closest('tr').removeClass('compare-hover');
$('#compare-tbl-1').find('tr').removeClass('compare-hover');
});
它现在是如何工作的?@markpsmith yup,几乎就是这样,当我悬停在表1中的“行1”上时,表2中的所有行1都应该高亮显示,出于某种原因,当我悬停在表2中的“行1列1”上时,表1中的“列1”也会高亮显示。除此之外,它工作得非常完美。下面是我正在使用的代码,它将compare hover类所使用的元素从'tr'更改为'td',第1列不再突出显示。这是有效的,因为我们现在的目标是单个标记而不是整个标记,列1位于标记中而不是a中。这是一个修改,当相应的表1行悬停在表2中时,将高亮显示表2中的所有行。
$("#compare-tbl-2 td").hover(function() {
$(this).closest('tr').addClass('compare-hover');
var idx = $(this).closest('tr')[0].sectionRowIndex + 1;
$('#compare-tbl-1').find('tr:nth-child(' + idx + ')').addClass('compare-hover');
},
function() {
$(this).closest('tr').removeClass('compare-hover');
$('#compare-tbl-1').find('tr').removeClass('compare-hover');
});