Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
jquery 1.4.2中的更改是否破坏了代码?_Jquery - Fatal编程技术网

jquery 1.4.2中的更改是否破坏了代码?

jquery 1.4.2中的更改是否破坏了代码?,jquery,Jquery,我在使用jquery 1.3的页面上看到了这段代码,但现在在jquery 1.4.2中,它因语法错误/无法识别的表达式而中断: $(document).ready(function(){ $("span[@name^=charge]").click(function(){ $("#" + $(this).attr("name")).show(); $(this).hide(); }); }); $(文档).ready(函数(){ $(“span[@

我在使用jquery 1.3的页面上看到了这段代码,但现在在jquery 1.4.2中,它因语法错误/无法识别的表达式而中断:

$(document).ready(function(){ $("span[@name^=charge]").click(function(){ $("#" + $(this).attr("name")).show(); $(this).hide(); }); }); $(文档).ready(函数(){ $(“span[@name^=charge]”。单击(函数(){ $(“#”+$(this.attr(“name”)).show(); $(this.hide(); }); });
如何解决这个问题?

我看到的唯一一件事是,在定义属性之前,我通常不使用“@”,而且我倾向于将属性值选择器放在单引号中。试试这个:

$(document).ready(function(){
    $("span[name^='charge']").click(function(){
        $("#" + $(this).attr("name")).show();
        $(this).hide();
    });
});

检查选择器的语法-我想应该是这样的

 span[name^='charge']

@名称已被弃用-现在只需使用名称

请参阅此线程:

不应该是美元吗(“span[name^=\“charge\”]”)。在我看来,您似乎在尝试使用xpath语法。实际上,我用引号做的恰恰相反,我对字符串使用单引号基本上是出于php的习惯,这样我就可以在字符串中使用双引号,而不用担心字符转义,也不用担心输出看起来很奇怪(不过我讨厌在字符串中键入'don't'或其他缩写).