jQuery -按值查询文本框?(值中包含引号)

jQuery - Query for textbox by value? (value contains quotation marks)

本文关键字:包含引 查询 文本 jQuery      更新时间:2023-09-26

我有一个JavaScript字符串,其中包含一个引号-例如,Don't click this checkboxHe 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 + "']");

问题在于第二个替换函数:.replace("'"", "''"");

由于在由双引号分隔的字符串中有双引号,因此必须转义里面的双引号。或者,为了方便起见,使用单引号:

q = q.replace("'", "''").replace('"', ''"');