在 jquery 中的类名中使用点: $('.B.Avf').toggle();

Bjö*_*n C 4 javascript jquery

是否可以在 Jquery 中的类名中使用点?

$('.B.Avf').toggle();
Run Code Online (Sandbox Code Playgroud)

我需要将点保留在:B.Avf 类名中。
我能以某种方式逃避它吗?
这可能吗?

更新

我试图用“\”来逃避它,但没有成功。

Roc*_*mat 5

您始终可以仅使用[attr="val"]选择器来实现此目的。

$('[class*="B.Avf"]')
Run Code Online (Sandbox Code Playgroud)

意思*=是“class包含……”。由于这是直接查看属性并且可能有多个类,因此您不想使用=.


Thr*_*gle 5

有两种方法可以选择标识符中具有特殊选择字符的元素。正如 Tushar 在评论中提到的,您可以使用双反斜杠 ( \\) 来转义查询中的特殊字符(包括 jQuery 和 document.querySelector),或者您可以使用属性选择器,如 Rocket Hazmat 指出的那样。

请注意,在 CSS(即实际的样式表,而不是 JavaScript)中,选择器略有不同。您只需要一个反斜杠即可转义特殊字符。

演示如下:

// use a double backslash to escape characters in JavaScript query selectors
document.querySelector(".a\\.b").style.backgroundColor = "blue";

//or use an attribute selector!
document.querySelector('[class="a.b"]').style.color = "white";
Run Code Online (Sandbox Code Playgroud)
/* Use a single backslash to escape characters in CSS */
.a\.b{border:1px solid black;}
Run Code Online (Sandbox Code Playgroud)
<div class="a.b">My class name is a.b</div>
Run Code Online (Sandbox Code Playgroud)