当我在控制台中使用以下行(FF& chrome)
时var stripID = "\'#strip_" + ID + "\'";
console.log(stripID);
我得到了我想要的东西:'#strip_126327'
但是当我把它放在JS文件中,执行它的函数被触发时我得到了
uncaught exception: Syntax error, unrecognized expression: ''
甚至包含文件和行参考。
此外,所有这一切的目的是获取一个字符串以放入$()
选择器。
答案 0 :(得分:5)
您无需转义'
,因为您已使用"
。但更重要的是,你甚至不需要'
。只需var stripID = "#strip_" + ID;
正如其他人所说,'#id_foo'
实际上不是一个有效的jquery选择器。您需要一个值为#id_foo
的字符串。阅读有关选择器here的更多信息。
答案 1 :(得分:4)
你不需要单引号:
var stripID = "#strip_" + ID;
$(stripID).whatever();
就足够了。 '
不是选择器中的有效字符。
答案 2 :(得分:0)
您正在创建一个类似'#srip_something'
的jQuery选择器。
这不是一个有效的jQuery选择器,因此jQuery会抛出此错误 jQuery选择器是普通字符串,只在字符串中包含属性值的引号。