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

标签 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;}

最佳答案

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

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

关于javascript - 表格悬停边框颜色删除列线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28465789/

相关文章:

html - 带有水平滚动条的 pre/code 元素破坏了 Firefox 上的 flex 布局

javascript - Mouseup取消所有Mousedown下的事件

Javascript - Json 还是 html?

css - 更改 JQuery 中 .toggle() 动画的 'origin'

javascript - 使用 jasmine js 将网页中的所有链接存储为 json 数据

javascript - 修复 Carousel FlexBox 上的动画

Jquery-vsdoc 无法使用 MVC4 捆绑工作?当 @Scripts.Render 包含在 _Layout.cshtml 中的 </body> 上方时,@Scripts.Render 不起作用?

html - 将使用哪个样式表? (IE条件语句)

JavaScript:转义 HTML 中的双引号

javascript - 在触发日历单击事件之前,div 标记内的 JQuery 完整日历不会显示