突出显示div中两个表中的行和列(highlight rows and columns within two tables in a div)

编程入门 行业动态 更新时间:2024-10-12 05:44:07
突出显示div中两个表中的行和列(highlight rows and columns within two tables in a div)

我在div中有2个表,我想同时在两个表上突出显示相同的行。 现在我只设法让它突出显示1个表中的列和行。

(例如:如果我将鼠标悬停在tbl-2 “Row2 Column3”上,则应突出显示tbl-1 Row2,反之亦然)

另外我如何才能突出显示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>

<script> $("#compare-tbl-2 td").hover(function() { $(this).parents('table').find('td:nth-child(' + ($(this).index() + 1) + ')'). add($(this).parent()).addClass('compare-hover'); }, function() { $(this).parents('table').find('td:nth-child(' + ($(this).index() + 1) + ')'). add($(this).parent()).removeClass('compare-hover'); }); </script>

I have 2 tables in a div and I would like to highlight the same row on both tables at the same time. Right now I only managed to get it to highlight columns and rows in 1 table.

(example: If i hover over "Row2 Column3" in tbl-2, Row2 in tbl-1 should be highlighted and viceversa)

Also how do i get it to highlight the th tag too?

<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>

<script> $("#compare-tbl-2 td").hover(function() { $(this).parents('table').find('td:nth-child(' + ($(this).index() + 1) + ')'). add($(this).parent()).addClass('compare-hover'); }, function() { $(this).parents('table').find('td:nth-child(' + ($(this).index() + 1) + ')'). add($(this).parent()).removeClass('compare-hover'); }); </script>

最满意答案

尝试用以下代码替换脚本:

$("#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'); });

的jsfiddle

Try replacing your script with this:

$("#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'); });

jsFiddle

更多推荐

本文发布于:2023-08-02 07:34:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1372401.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两个   highlight   div   tables   columns

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!