Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单选按钮的jQuery值:";未捕获的语法错误,无法识别的表达式;_Javascript_Jquery - Fatal编程技术网

Javascript 单选按钮的jQuery值:";未捕获的语法错误,无法识别的表达式;

Javascript 单选按钮的jQuery值:";未捕获的语法错误,无法识别的表达式;,javascript,jquery,Javascript,Jquery,我试图用$(“input[@name=login]”)获取单选按钮的值,但得到的是“未捕获的语法错误,无法识别的表达式” 请参阅,下面是完整的代码: <!-- Radio buttons to choose signin/register --> <fieldset data-role="controlgroup" data-theme="z" data-type="horizontal" > <input type="radio" name="login"

我试图用
$(“input[@name=login]”)获取单选按钮的值
,但得到的是“未捕获的语法错误,无法识别的表达式”

请参阅,下面是完整的代码:

<!-- Radio buttons to choose signin/register -->
<fieldset data-role="controlgroup" data-theme="z" data-type="horizontal" >
    <input type="radio" name="login" id="radio-signin" value="signin" checked="checked" />
    <label for="radio-signin">Signin</label>
    <input type="radio" name="login" id="radio-register" value="register" />
    <label for="radio-register">Register</label>
</fieldset>
$(document).ready(function() {  
    $("input[@name=login]").change(function(){
      alert($("input[@name=login]:checked").val());
    });     
});

签名
登记
$(文档).ready(函数(){
$(“输入[@name=login]”)。更改(函数(){
警报($($(输入[@name=login]:已选中”).val();
});     
});

删除
@
<代码>$(“输入[名称=登录]”)

您可能还希望在回调中使用
this

$(document).ready(function() {  
    $("input[name=login]").change(function(){
      alert($(this).val());
    });     
});

只要
$(“输入[name=login]”
就行了。以前从未见过在该上下文中使用的
@
,它应该在做什么吗?

丢失选择器中的@符号。

类似XPath的属性选择器在jQuery 1.3中被删除。(我们现在使用jQuery1.6。)

只需删除
@

$("input[name='login']").change(function(){
  alert($("input[name='login']:checked").val());
});
请注意,引号也是必需的


从选择器中删除
@
符号,因为它在jQuery 1.5.2中不存在


这是您的小提琴。

您需要在属性值“login”周围加引号。此外,我认为您不需要@符号:

 $("input[name='login']").change(function(){
      alert($("input[name='login']:checked").val());
   });  

他们什么时候开始要求报价的?1.6?@Matt从永远开始,AFAIK。一般来说,你的代码在没有它们的情况下可以工作,但它们在技术上是强制性的。请看:引号是强制性的。@lonesomeday,你说得对,文档说。事实上,我不同意这些文件。如果不要求任何东西都可以工作,那么它怎么可能是强制性的呢?哈哈,顺便说一句,我从来没有写过没有引号就不能工作的代码。