首页 >web前端 >css教程 >jQuery 真的支持所有 CSS3 选择器吗?

jQuery 真的支持所有 CSS3 选择器吗?

Linda Hamilton
Linda Hamilton原创
2024-11-03 13:47:02948浏览

Does jQuery Really Support All CSS3 Selectors?

jQuery 对 CSS3 选择器的支持

jQuery 声称支持广泛的 CSS 选择器,但并非其文档中列出的所有选择器都完全支持已实现。

支持的选择器(jQuery 1.9 及更高版本)

  • 3 级标准中的大多数选择器,不包括:

    • 伪元素
    • 动态伪类
    • 命名空间前缀
  • :target, :root, :nth-last-child() , :nth-of-type(), :nth-last-of-type(), :first-of-type, :last-of-type, :only-of-type

不支持的选择器

  • 伪元素
  • 动态伪类
  • 命名空间前缀
  • :lang()

回退到 document.querySelectorAll()

当 jQuery 遇到不受支持的选择器时,它会尝试将其传递给浏览器的本机 document.querySelectorAll() 实现。如果 document.querySelectorAll() 可以处理选择器,jQuery 将使用返回的节点列表来绕过对其自己的选择器库 Sizzle 的需求。

与 IE8 不兼容

IE8不支持document.querySelectorAll()中的:nth-last-child()选择器。结果,jQuery 将回退到其不兼容的 Sizzle 实现,导致选择器在 IE8 中失败。

建议

为了确保与所有浏览器兼容,建议使用 jQuery 1.9 或更高版本,它支持除上面列出的之外的所有 3 级选择器。或者,可以使用自定义选择器扩展来实现旧版 jQuery 中缺失的伪类。

以上是jQuery 真的支持所有 CSS3 选择器吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn