gpt4 book ai didi

javascript - 显然缺少 ) 在除 Safari 之外的所有 jQuery :not(. 类中得到修复?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:44:13 26 4
gpt4 key购买 nike

我的脚本中有一个 jQuery 语法错误,但只有 Safari 抛出异常。

$("#id:not(.class").length

:not 没有被 ) 关闭。在 Safari 中,长度为 0,在所有其他浏览器中,如果错误不存在,则它是正确的值。 Chrome、Firefox、Opera 和 Internet Explorer 有没有可能即时修复这些错误?

此外,它似乎不是 jQuery 固有的,因为即使是原生的 querySelector 调用也会恢复选择器文字中的语法错误:

document.querySelector('[href^="h'  ) ===
document.querySelector('[href^="h"]'); // true in non-Safari

document.querySelector(':not([X="Y' ) ===
document.querySelector(':not([X="Y"])'); // true in non-Safari

Safari 中出现的错误读取 SYNTAX_ERR: DOM Exception 12

最佳答案

这在某种程度上确实令人着迷,因为我也曾多次问过自己这个问题,但没有进一步调查为什么会这样。 Chrome 确实有时会“忽略”语法错误,例如当您在对象表示法中添加或省略 ;, 时。

这可能是一件好事,但有时很难调试。 IE 等较旧的浏览器会抛出新浏览器不会抛出的错误。我不知道这是功能还是错误:)

我没有这方面的消息来源,但我可以确认我注意到了类似的行为。这很可能与 JavaScipt's strict mode 有关.

关于javascript - 显然缺少 ) 在除 Safari 之外的所有 jQuery :not(. 类中得到修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23364466/

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