如何在jQuery选择器中使用&符号(&)

时间:2012-02-15 22:48:41

标签: jquery jquery-selectors html-entities ampersand

我有一个<select>菜单,其中包含一堆<option>个标记,这些标记都是从数据库表中填充的。

我需要使用jquery选择器,例如$('option[value=d&c]'),以便找到这样的选项:

<option value="d&c">d&amp;c</option>

请注意,value属性中没有编码的&符号(&amp;),只是一个直的&符号(&),因为Zend Framework会填充它。

唯一的问题是jQuery会出现以下错误:

uncaught exception: Syntax error, unrecognized expression: [value=d&c]

它也不会接受$('option[value=d&amp;c]')。在任何一种情况下,都是&符号搞乱了。有谁知道如何解决这个限制?

3 个答案:

答案 0 :(得分:9)

你错过了值

附近的引号

这有效:

$('option[value="d&c"]')

jsFiddle

答案 1 :(得分:6)

尝试逃避它......

$('option[value=d\\&c]')

jsFiddle

...或使用引文,这是文档中推荐的。

答案 2 :(得分:1)

当您在引号中设置选项值时,它会起作用:

$(function() {
    alert($("option[value='d&c']").text());       
});

http://jsfiddle.net/fGTRv/