【问题标题】:JQuery error during load "Failed to execute query: '*,:x' is not a valid selector."加载期间出现 JQuery 错误“无法执行查询:'*,:x' 不是有效的选择器。”
【发布时间】:2014-02-09 15:40:45
【问题描述】:

我正在尝试调试应用程序,但无法启动,因为在浏览器加载 jquery 2.1.0 时出现错误。错误在未缩小版的第1210行

div.querySelectorAll("*,:x");

我收到标题中的错误。

我使用的是 Chrome 版本 32。

【问题讨论】:

  • 你想用:x做什么
  • @ArunPJohny 我不认为这是他的代码。听起来 jQuery 的代码正在这样做。 OP,你试过重新下载jQuery吗?

标签: jquery


【解决方案1】:

我发现这个jQuery bug ticket 似乎与您正在经历的一样,StackOverflow 上的另一个描述问题的longer discussion about it on another jQuery bug ticket

虽然,它似乎没有标记为错误,因为它是 jQuery 的内部错误检查/抛出异常。

正如jQuery team describes的评论:

分辨率设置为 notabug

不要因捕获的异常而中断。我们抓住它是因为我们预料到它。

【讨论】:

  • 我想狠狠地扇自己的额头。我正在处理一个不使用 jQuery 的项目,并且在 Chrome 的 DevTools 中出现“Pause On Caught Exceptions”,然后返回到一个旧项目并因此浪费了一个小时。
  • 这绝对是一个错误,因为它在处理其他捕获的异常时会阻碍调试过程。如果有办法修复 jQuery 代码以防止这种无限抛出和捕获异常,那就太好了。
  • @KamenMinkov 不要感觉太糟糕,我只是犯了和你完全一样的错误。我也花了同样多的时间才发现这个有用的回复。
  • 是的,它严重阻碍了我的调试过程,并且持续了几个月。每次某个库遇到我想要上下文信息的异常时,我都会启用“在捕获的异常时暂停”。然后我重新加载页面,看到 JQuery 阻止了我的意图,每次启动有 4 次暂停。 -_- (这比我的其他项目少)
  • 这不是 jQuery 本身的错误,它是 jQuery 的一部分,需要跨浏览器和平台运行,而这些浏览器和平台又会出现各种错误。在这种情况下,他们需要知道浏览器是否抛出错误,不抛出错误是不正确的行为,但他们仍然需要处理。换句话说,正确的行为是这个异常,但有些浏览器不会抛出它,jQuery 需要知道这一点。
【解决方案2】:

我在 Firefox 57 上遇到过这个问题。

"breaking on exceptions" documentation 告诉我们“暂停按钮 (II)”具有三个状态。 浅紫色状态是我们想要的状态:它显示未捕获的异常,但忽略捕获的异常。

【讨论】:

  • 这导致了我的解决方案。在“暂停按钮 (||)”下有一个“暂停捕获异常”复选框。取消选中它可以释放调试流程。
【解决方案3】:

如果您使用 Visual Studio 代码 进行调试,只需在断点部分取消选中所有异常即可。

【讨论】:

    【解决方案4】:

    只是为了添加我在特定场景中在 Chrome/OSX 上发现的内容。我使用.is(':visible')找到了这个

    当从 setTimeout() 中执行的函数调用它时,它会显示在日志中,但工作正常。

    Uncaught SyntaxError: Unexpected identifier
    Failed to execute 'matches' on 'Element': ':visible' is not a valid selector.
    

    我不确定原因,但我取消了setTimeout 的使用并继续前进。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题并通过重新启动浏览器解决了它。它似乎消失了。

      【讨论】:

        【解决方案6】:

        我也遇到了同样的问题,快把我逼疯了。我花了3天时间。查看以下内容:

        体高。不仅是css高度,还要物理检查高度,我用mozilla firebug选择body属性,这个就高亮了。如果它在元素或选择区域之上,它会给出错误。 还要选择特定区域的 css 和正文

        -moz-user-select: none;
        -webkit-user-select: none;
        -ms-user-select: none;
        Make sure your user selection is !!NOT!! none.
        

        希望这对您有所帮助。我确实阅读了一些关于这个问题的非常令人沮丧的帖子,但这也不是一个容易的发现,我很偶然发现它。

        【讨论】:

          【解决方案7】:

          * 选择器选择所有元素,因此将其与其他选择器组合,例如*,div,没必要。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-06-01
            相关资源
            最近更新 更多