【问题标题】:uncaught exception: Syntax error, unrecognized expression未捕获的异常:语法错误,无法识别的表达式
【发布时间】:2010-06-07 21:40:59
【问题描述】:

我收到未捕获的异常:语法错误,无法识别的表达式:[@name='rbRewSelectionGroup'],当我加载底部有此内容的可能页面时:

<script language="javascript">

    $("input[@name='rbRewSelectionGroup']").click(function()
                                                   {
                                                        $(this).closest("form").submit();
                                                   });
</script>

我没看到。我根本看不出这段代码有什么问题。我确实有与页面一起加载的 jQuery (1.4.2) 库。

【问题讨论】:

    标签: jquery


    【解决方案1】:

    在当前版本的 jQuery 中,您不再需要 @ 属性前缀 (it was removed in the jQuery 1.3 release)。

    您的attribute-equals selector 应如下所示:

    $("input[name='rbRewSelectionGroup']")
    

    【讨论】:

    • so....看起来 jQuery 1.4 不向后兼容 @??这似乎有点奇怪
    • 太棒了。因为我刚刚将我们的代码升级到 jQuery 1.4.2,因为我想将最新的 jQuery 库与新的 jQuery UI 一起使用……我希望我没有破坏任何东西。有人告诉我,对于 1.3 中的大多数代码,它与 1.4 兼容
    • @coffeeaddict:你确定你会从1.3升级到1.4吗?听起来你之前在 1.2.x 上,你可以在这里测试它:jsfiddle.net/eB9TL 更改左侧的框架并单击运行,你会看到它在 1.3 和 1.4 中出现错误,但在 1.2 中有效。
    【解决方案2】:

    其实主要原因是指错误的选择器,错误的选择器也指错误的html属性或标签名称,并且在您的代码中:

    $("input[@name='rbRewSelectionGroup']")  
    

    新的 jquery 将搜索元素

    <input @name="rbRewSelectionGroup" />  
    

    witch 会有一个错误的属性名 ;)

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 2011-11-13
      • 2017-11-09
      • 1970-01-01
      • 2013-10-10
      • 2016-05-28
      • 1970-01-01
      • 2017-11-24
      • 2011-11-15
      相关资源
      最近更新 更多