Mettez en surbrillance <li> dans la fonction onCliquez sur js

J'ai un petit problème.

Je veux mettre en évidence la réponse quand vous cliquez dessus mais le .style ne semble pas fonctionner :(

J'ai une partie du code html comme ceci:

<div id="answers-type1">
    
</div>

et dans mon script j'ai eu ceci:

$("#answers-type1 li").click(function() {
     $(this).style = "background-color: #FFFF00;";
     if ($(this).text() == goodAnswer)
     {
         alert("JAYJAY");
     }
     else
     {
         alert("pas JAYJAY");
     }
});

la fonction est bien appelée à chaque clic mais l'arrière-plan ne change pas je ne comprends pas pourquoi: /

J'ai regardé sur Internet et j'ai vu beaucoup de gens faire comme ça

merci pour les réponses

0

4 Réponses

Le style n'est pas appliqué car les objets jQuery n'ont pas de propriété style . Vous pouvez utiliser la méthode CSS à la place:

$(this).css("background-color","#FFFF00");

Vous pouvez également utiliser l'élément sous-jacent (ne le transmettez pas à jQuery):

this.style.backgroundColor = "#FFFF00";

Le deuxième exemple sera probablement plus efficace.

0
ajouté
Merci ça a marché!
ajouté l'auteur John Smith, source

essayer:

$(this).css("background-color","#FFFF00");

au lieu de :

$(this).style = "background-color: #FFFF00;";
0
ajouté

Utilisez ceci

$(this).css("background-color","#FFFF00");

au lieu de cela

this.style = "background-color: #FFFF00;";
0
ajouté
Merci cela a fonctionné comme je l'ai dit ci-dessous!
ajouté l'auteur John Smith, source
0
ajouté
A déjà été résolu mais merci pour le site: P
ajouté l'auteur John Smith, source