我想选择具有特定值的选项。并且元素的值包含撇号。在这种情况下,它不会正确选择元素。
var selectedValue= "Test'1";
jQuery("option[value='" + selectedValue + "']"); // does not find option with value as "Test'1"
示例小提琴:http://jsfiddle.net/JSWorld/26JTy/4/
当我选择一个包含撇号的选项时,它不会发出警报。
答案 0 :(得分:4)
使用双反斜杠逃生:
var selectedValue = jQuery(this).val().replace("'", "\\'").replace('"', '\\"');
答案 1 :(得分:1)
如果您有任何带双引号的值("),这会给您带来同样的问题,但您可以翻转代码中的单引号和双引号:
var selectedValue= "Test'1";
jQuery('option[value="' + selectedValue + '"]');
答案 2 :(得分:0)
以下情况对我有用:
var selectedValue = jQuery(this).val().replace("'", "'");