在CSS选择器中使用&

Nar*_*yaN 5 html css jquery css-selectors jquery-selectors

我有一个id为div的div masterResourceFor_R&D.但是当我在jQuery中使用这个ID来选择它div并在其上放置一个click功能时,它不起作用.我认为问题是因为&ID 中的符号.我没有任何重命名ID的选项.

我怎样才能在jQuery中使用这个ID?

Jam*_*lly 5

您可以使用反斜杠(\)来转义角色.

CSS

#masterResourceFor_R\&D { ... }
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('#masterResourceFor_R\\&D');
Run Code Online (Sandbox Code Playgroud)

JSFiddle演示.

  • 为清晰起见,两个示例均为+1.@ OP:第二个例子中两个反斜杠的唯一原因是在JavaScript中的字符串中,反斜杠具有特殊含义:从字面上理解下一个字符.所以在一个字符串中,`\\`是一个实际的反斜杠. (2认同)

Mr.*_*ien 4

忽略使用特殊字符作为 id 和类名,如果可以的话更改它,如果不能并且你想解决这个混乱,你需要转义该字符

#masterResourceFor_R\&D {
   color: red;
}
Run Code Online (Sandbox Code Playgroud)

演示

参考

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