gpt4 book ai didi

jquery - :not([attr ="value"]) and [attr! ="value"之间的性能有区别吗?

转载 作者:行者123 更新时间:2023-11-28 12:54:01 26 4
gpt4 key购买 nike

性能上有区别吗

:not([attr="value"])

[attr!="value"]

? CSS3 规范是否推荐了一种替代方案?

编辑:

CSS3 规范不包含 [attr!="value"] 选择器。这只是 jQuery 实现的东西。

所以,问题应该是

$(':not([attr="value"])')

$('[attr!="value"]')

?

最佳答案

只要有可能,jQuery 就会尝试使用 document.querySelectordocument.querySelectorAll,因为这会使用 native 浏览器功能来执行查询。

如果某些内容不在规范中或浏览器不支持,则 jQuery 需要回退到 Swizzle engine ,这通常会比较慢,因为它需要遍历 DOM 本身。

代码流是这样的(伪代码):

try {
document.querySelectorAll(selector);
} catch ( e ) {
Swizzle.querySelectorAll(selector);
}

因此对于支持 :not([attr="value"]) 的浏览器来说,它应该(如果实现得好)比 [attr!="value"]

这是否会引起注意取决于用例。

关于jquery - :not([attr ="value"]) and [attr! ="value"之间的性能有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com