表格突出显示

时间:2012-02-15 18:54:22

标签: jquery css html-table

正在网上搜寻“最佳”表格突出显示方式。

似乎有两个主要的选择:

1纯CSS:tr:hover

2 Css + Jquery:

$("table").delegate('td','mouseover mouseleave', function(e) {
  if (e.type == 'mouseover') {
    $(this).parent().addClass("tr-hover");
  }
  else {
    $(this).parent().removeClass("tr-hover");
  }
});

我不知道这些天最佳做法是什么。据我所知,它唯一的IE7与Pure CSS选项无法正常工作。

或者,我还应该考虑其他替代方案吗?

1 个答案:

答案 0 :(得分:4)

使用CSS :hover方法。如果设置了DOCTYPE,它也可以在IE7 +中工作。此声明由this MSDN article备份。

  

...提高CSS2.1合规性。所有这些工作(透明PNG除外)都在<!DOCTYPE> switch 下完成,因为所有更改都要求行为更新更符合CSS规范指定的内容。   
。 。 。
  我们还扩展了现有的实现,以符合W3C规范:

     
      
  • 启用:将鼠标悬停在<a>
  • 上的所有元素上   

根据个人测试(以及this source),符合标准的模式未激活时:

  • 未设置DOCTYPE
    或者在设置DOCTYPE时,并且:
  • 指定了无版本的HTML。
  • 指定低于4.x的HTML版本(包括不存在的较低版本,例如3.99)
  • 指定了HTML 4(而不是没有URL的4.x)。 http://也有效,其他协议无效。
  • HTML 4.x Transitional HTML 4.x框架集没有网址部分。

它与所有其他DOCTYPE一起激活,包括XHTML,XML和未知的DOCTYPE。


CSS的优点:

  • 它比jQuery更有效:没有涉及事件监听器,在定义CSS规则(jQuery需要库和函数调用)后立即定义行为
  • 禁用JavaScript时也可以使用。

jQuery的优点:

  • 它也适用于IE6-
    (这个标记不是那么关键,所以这不会有很大的影响。顺便说一下谁在使用IE6?)。