Como você adiciona pseudo classs aos elementos usando jQuery?

Em CSS, quando você passa o mouse sobre um elemento, pode especificar exibições para ele usando a class pseudo: hover:

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

Como você pode usar o jquery para adicionar ou “ativar” esta pseudo-class? Normalmente, no jQuery, se você quiser adicionar uma class, você faria:

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

Eu tentei “pairar”, mas isso literalmente adiciona uma class chamada “hover” para o elemento.

Se alguém souber o que escrever, por favor me avise! Obrigado!

Você não pode forçar uma certa pseudo-class a se aplicar usando jQuery. Não é assim que funcionam pseudo-classs (especialmente pseudo-classs dinâmicas), uma vez que elas são projetadas para selecionar com base em informações que não podem ser expressas através do DOM ( spec ).

Você tem que especificar outra class para usar, então adicione essa class usando jQuery. Algo assim:

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

Alternativamente, você poderia procurar pela regra de .element_class_name:hover e adicionar essa class usando o próprio jQuery, sem codificá-la em sua folha de estilo. É o mesmo princípio, no entanto.

Eu acho que não há como fazer isso com jQuery ou javascript.

Você pode encontrar a mesma resposta nessas duas perguntas:

  1. definindo-css-pseudo-class-rules-from-javascript
  2. css-pseudo-classs-with-jquery

Faça um div na página

 

E então programaticamente codificar o estilo, ou seja,

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

Infelizmente, o elemento que você está chamando isso terá que ter um id.

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

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