Javascript 未捕获错误:语法错误,无法识别的表达式。转义字符?

Javascript 未捕获错误:语法错误,无法识别的表达式。转义字符?,javascript,jquery,magento,Javascript,Jquery,Magento,如果在结账过程中选择了特定的单选框,我将尝试显示id为“online payments”的div元素 到目前为止,我有以下几点: <div id="online-payments" style="display: none;"> Test </div> 这是一个Magento存储,所以我使用无冲突模式,因为原型库 问题归结到收音机的名字上。在Magento上,默认情况下它是支付[方法](我已经尝试过更改它,但看起来它会给我比预期更多的工作) 所以它实际上是为了逃

如果在结账过程中选择了特定的单选框,我将尝试显示id为“online payments”的div元素

到目前为止,我有以下几点:

<div id="online-payments" style="display: none;">
    Test
</div>
这是一个Magento存储,所以我使用无冲突模式,因为原型库

问题归结到收音机的名字上。在Magento上,默认情况下它是支付[方法](我已经尝试过更改它,但看起来它会给我比预期更多的工作)

所以它实际上是为了逃避那些括号[],我以为我做到了,但即使这样,它也给了我这个错误:

Uncaught Error: Syntax error, unrecognized expression: radio[@name='payment[method]'] 

这里出了什么问题?

有几个问题:

  • 您正在使用属性选择器,但名称无效(
    @name
    )。属性名称不能以
    @
    开头

  • 只要使用引号(您是,),就不需要反斜杠。(您拥有的那些并不是选择器的一部分,要在选择器中添加反斜杠,当选择器位于JavaScript字符串中时,您必须将反斜杠转义为
    \\

  • radio
    不是标记名

  • 也许你想要:

    jQuery("input[type=radio][name='payment[method]']")
    

    jQuery提供了一个扩展名,它是
    :radio
    ,但由于所讨论的原因,不建议使用它(基本上,jQuery不能将它交给浏览器的本机
    查询选择器
    /
    查询选择器all
    )。

    有几个问题:

  • 您正在使用属性选择器,但名称无效(
    @name
    )。属性名称不能以
    @
    开头

  • 只要使用引号(您是,),就不需要反斜杠。(您拥有的那些并不是选择器的一部分,要在选择器中添加反斜杠,当选择器位于JavaScript字符串中时,您必须将反斜杠转义为
    \\

  • radio
    不是标记名

  • 也许你想要:

    jQuery("input[type=radio][name='payment[method]']")
    
    jQuery提供了一个扩展名为
    :radio
    ,但由于讨论的原因,不建议使用它(基本上,jQuery不能将它交给浏览器的原生
    查询选择器
    /
    查询选择器all