jquery 1.4.2中的更改是否破坏了代码?
我在使用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(); }); });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[@
如何解决这个问题?我看到的唯一一件事是,在定义属性之前,我通常不使用“@”,而且我倾向于将属性值选择器放在单引号中。试试这个:
$(document).ready(function(){
$("span[name^='charge']").click(function(){
$("#" + $(this).attr("name")).show();
$(this).hide();
});
});
检查选择器的语法-我想应该是这样的
span[name^='charge']
@名称已被弃用-现在只需使用名称 请参阅此线程:
不应该是美元吗(“span[name^=\“charge\”]”)。在我看来,您似乎在尝试使用xpath语法。实际上,我用引号做的恰恰相反,我对字符串使用单引号基本上是出于php的习惯,这样我就可以在字符串中使用双引号,而不用担心字符转义,也不用担心输出看起来很奇怪(不过我讨厌在字符串中键入'don't'或其他缩写).