¿Cómo se agregan las pseudo clases a los elementos usando jQuery?

En CSS, al pasar el mouse sobre un elemento, puede especificar vistas para él usando la pseudo clase: hover:

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

¿Cómo se puede usar jquery para agregar o “encender” esta pseudoclase? Normalmente, en jQuery, si quieres agregar una clase, debes hacer lo siguiente:

 $(this).addClass("class_name"); 

He intentado “hover” pero esto literalmente agrega una clase llamada “hover” al elemento.

Si alguien sabe qué escribir, ¡házmelo saber! ¡Gracias!

No puede forzar que se aplique cierta pseudo-clase usando jQuery. No es así como funcionan las pseudoclases (especialmente las pseudoclases dinámicas), ya que están diseñadas para seleccionar en función de información que no se puede express a través del DOM ( especificación ).

Debes especificar otra clase para usar, luego agrega esa clase usando jQuery. Algo como esto:

 .element_class_name:hover, .element_class_name.jqhover { /* stuff here */ } $(this).addClass("jqhover"); 

Alternativamente, podría buscar la regla .element_class_name:hover y agregar esa clase usando jQuery, sin tener que codificarla en su hoja de estilo. Es el mismo principio, sin embargo.

Creo que no hay forma de hacerlo con jQuery o javascript.

Puede encontrar la misma respuesta en estas dos preguntas:

  1. setting-css-pseudo-class-rules-from-javascript
  2. css-pseudo-clases-con-jquery

Haz un div en la página

 

Y luego programáticamente codificar el estilo, es decir,

 $("#Style").find("style").prepend("#" + this.id + ":hover, "); 

Desafortunadamente, el elemento al que llamas tendrá que tener una identificación.

 $("body").children().click(function(){ $("#Style").find("style").prepend("#" + this.id + ":hover, "); }); 
 /* demo */ * { transition: opacity 1s; } 
       

To use this though, you'll have to assign an id to that particular element though.