我在JavaScript中有一个包含引号的字符串 - 例如,Don't click this checkbox
或He said "hi"
。我试图找到一个具有完全相同值的复选框。
对于我的第一个例子,我有HTML:
<input type="checkbox" value="Don\'t click this checkbox">
我的变量q中包含字符串Don't click this checkbox
。要尝试查询此复选框,我有以下代码。我哪里错了?
q = q.replace("'", "\'").replace("\"", "\\"");
var $checkbox = $("input:checkbox[value='" + q + "']");
答案 0 :(得分:0)
问题在于第二个替换功能:.replace("\"", "\\"");
由于在双引号分隔的字符串中有双引号,因此必须转义内部双引号。或者,让自己轻松一点并使用单引号:
q = q.replace("'", "\'").replace('"', '\"');