使用 & 在 CSS 选择器中

5

我有一个id为masterResourceFor_R&D的div。但是当我在jQuery中使用这个ID来选择这个div并给它添加一个点击函数时,它不起作用。我认为问题是由于ID中的符号&造成的。我没有任何重新命名ID的选项。

我该如何在jQuery中使用这个ID呢?


可能是重复的问题:HTML标签ID中的特殊字符 - Guillaume Poussel
3个回答

5

您可以使用反斜杠(\)来转义字符。

CSS

#masterResourceFor_R\&D { ... }

jQuery

$('#masterResourceFor_R\\&D');

JSFiddle演示


2
@ OP:第二个示例中为什么有两个反斜杠的唯一原因是,在 JavaScript 中的字符串中,反斜杠具有特殊含义:将下一个字符字面解释。所以在字符串中,\\代表一个实际的反斜杠。 - T.J. Crowder

4
忽略使用特殊字符作为ID和类名,如果可以的话,请更改它,如果您无法更改并且想要解决this的问题,则需要转义该字符。
#masterResourceFor_R\&D {
   color: red;
}

演示

参考资料

CSS 中,标识符(包括选择器中的元素名称、类和 ID)只能包含字符 [a-zA-Z0-9] 和 ISO 10646 字符 U+00A0 及以上,还可以包含连字符 (-) 和下划线 (_);它们不能以数字、两个连字符或以数字开头的连字符开头。标识符还可以包含转义字符和任何 ISO 10646 字符作为数字代码(见下一项)。例如,标识符“B&W?” 可以写成“B\&W\?” 或“B\26 W\3F”。


2

使用\来转义它

$('#masterResourceFor_R\\&D')

演示:Fiddle


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接