如何使用jQuery向元素添加伪类?

jay*_*jay 42 css jquery pseudo-class css3

在CSS中,当您将鼠标悬停在元素上时,可以使用:hover伪类为其指定视图:

.element_class_name:hover {
    /* stuff here */
}
Run Code Online (Sandbox Code Playgroud)

你如何使用jquery添加或"打开"这个伪类?通常在jQuery中,如果你想添加一个类,你会做:

$(this).addClass("class_name");
Run Code Online (Sandbox Code Playgroud)

我试过"悬停",但这实际上在元素中添加了一个名为"hover"的类.

如果有人知道该写什么,请告诉我!谢谢!

Bol*_*ock 51

您不能使用jQuery强制应用某个伪类.这不是伪类(尤其是动态伪类)的工作原理,因为它们的设计基于无法通过DOM(spec)表达的信息.

您必须指定另一个要使用的类,然后使用jQuery添加该类.像这样的东西:

.element_class_name:hover, .element_class_name.jqhover {
    /* stuff here */
}

$(this).addClass("jqhover");
Run Code Online (Sandbox Code Playgroud)

或者,您可以.element_class_name:hover使用jQuery本身搜索规则并添加该类,而无需将其硬编码到样式表中.不过,这是相同的原则.


小智 8

我认为没有办法用jQuery或javascript做到这一点.

您可以在这两个问题中找到相同的答案:

  1. 设置CSS的伪类的规则从JavaScript的
  2. CSS-伪类与 - jQuery的