表格悬停边框颜色删除列线

时间:2015-02-11 22:28:55

标签: javascript jquery css html-table hover

我需要修复此表,以便将悬停点上方的线隐藏在该列中。让我们说底部的中间盒子在盘旋,你会在它上面看到3条线。我需要那些线条不显示。

  <table>
      <tr><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td></tr>
      <tr><td></td><td></td><td></td></tr>
  </table>


    <script>
      $('td').on('mouseover mouseout', function(){
             $(this).prevAll().addBack()
             .add($(this).parent().prevAll()
             .children(':nth-child(' + ($(this).index() + 1) +   
       ')')).toggleClass('hover');
         });

  </script>

table {
    table-layout:fixed;
    width:100%;
    height:300px;
    border-collapse:collapse;
      }
 td {
    border:1px solid black;
 }
.hover {
    border-color:#ef7c32; border-width:2px;}

1 个答案:

答案 0 :(得分:0)

这会在一列单元格上切换悬停类:

  $('td').on('mouseover mouseout', function(){
     var ix = $(this).parent().children().index(this);
     $('table tr').children().eq(ix).toggleClass('hover');
  });

第一个语句查找行中悬停单元格的索引。第二个在所有行的索引处切换单元格上的类。

然后相应的风格:

.hover {
    border-top: none;
    border-bottom: none:
}
table tr:first-child .hover {
    border-top: 1px solid black;
}
table tr:last-child .hover {
    border-bottom: 1px solid black;
}