选项值中的jQuery escape apostrophe

时间:2014-05-09 14:00:58

标签: jquery

我想选择具有特定值的选项。并且元素的值包含撇号。在这种情况下,它不会正确选择元素。

var selectedValue= "Test'1";
jQuery("option[value='" + selectedValue + "']"); // does not find option with value as "Test'1"

示例小提琴:http://jsfiddle.net/JSWorld/26JTy/4/

当我选择一个包含撇号的选项时,它不会发出警报。

3 个答案:

答案 0 :(得分:4)

使用双反斜杠逃生:

var selectedValue = jQuery(this).val().replace("'", "\\'").replace('"', '\\"');

您的更新小提琴:http://jsfiddle.net/abhitalks/26JTy/6/

答案 1 :(得分:1)

如果您有任何带双引号的值("),这会给您带来同样的问题,但您可以翻转代码中的单引号和双引号:

var selectedValue= "Test'1";
jQuery('option[value="' + selectedValue + '"]'); 

http://jsfiddle.net/26JTy/5/

答案 2 :(得分:0)

以下情况对我有用:

var selectedValue = jQuery(this).val().replace("'", "'");