表格行突出显示

发布于 2025-01-06 02:56:25 字数 422 浏览 0 评论 0原文

一直在网上寻找进行表行突出显示的“最佳”方法。

似乎两个主要替代方案是:

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 不能与纯 CSS 选项正常工作。

或者,我应该考虑其他选择吗?

Been scouring the net for the 'best' way to do table row highlighting.

Seems that the two main alternatives are:

1 Pure 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");
  }
});

I have no idea what is considered best practise these days. As far as I can ascertain, its only IE7 that doesn't work properly with the Pure CSS option.

Or, are there other alternatives that I should consider?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷迭香的记忆 2025-01-13 02:56:25

使用 CSS :hover 方法。如果设置了 DOCTYPE,它也适用于 IE7+。此声明得到这篇 MSDN 文章

...提高 CSS2.1 合规性。所有这些工作(透明 PNG 除外)都是在 仅切换,因为所有更改都需要行为更新以更加符合 CSS 规范指定的内容。

  。 。 。
我们还扩展了现有的实现,以符合 W3C 规范:

  • 在所有元素上启用 :hover,而不仅仅是


根据个人测试(以及 此来源),在以下情况下,标准兼容模式未激活

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

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


CSS 的优点:

  • 它比 jQuery 高效得多:不涉及事件侦听器,行为是在 CSS 规则定义之后立即定义的(jQuery 需要库和函数调用)。
  • 当 JavaScript 被禁用时它也可以工作。

jQuery 的优点:

  • 它也适用于 IE6-
    (这个标记并不是那么重要,所以这不会有很大的权重。顺便问一下,谁在使用 IE6?)。

Use the CSS :hover method. It does also work in IE7+, provided that a DOCTYPE is set. This statement is backed-up by this MSDN article.

... improve CSS2.1 compliance. All this work (with the exception of transparent PNGs) has been done under the <!DOCTYPE> switch only, since all changes required behavioral updates to be more in line what the CSS spec specifies.

  . . .
We also extended our existing implementations to comply with W3C specifications:

  • Enable :hover on all elements not just on <a>

According to personal tests (and by this source), standards-compliant mode is not activated when:

  • No DOCTYPE is set
    or when the DOCTYPE is set, and:
  • A versionless HTML is specified.
  • A HTML version lower than 4.x is specified (including non-existent lower versions, such as 3.99)
  • HTML 4 is specified (instead of 4.x) without URL. http:// is also valid, other protocols are invalid.
  • HTML 4.x Transitional or HTML 4.x Frameset without an URL part.

It is activated with all other DOCTYPEs, including XHTML, XML, and unknown ones.


Pros for CSS:

  • It's much more efficient than jQuery: no event listeners are involved, the behaviour is defined right after the definition of the CSS rule (jQuery requires the library and a function call).
  • It also works when JavaScript is disabled.

Pros for jQuery:

  • It also works in IE6-
    (this markup is not that critical, so this would not have a big weight. Who is using IE6 by the way?).
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文