J'ai créé un script de jQuery très simple et basique qui modifie la classe des boîtes de texte sur mon site afin de pouvoir avoir un fond de couleur différent lorsqu'un bouton est cliqué. J'ai ensuite tenté (avec l'aide d'un livre de JQuery-for-Dummies) pour le mettre en place afin que le choix de la couleur soit rappelé localement.
Je dois cependant être un plus grand "mannequin" que prévu parce que je n'ai pas pu faire ce travail.Lorsque je télécharge le script sur le serveur et le tester sur le site, je peux changer la couleur, mais si je ferme Ensuite, fenêtre puis aller sur mon site Web à nouveau, la couleur est de retour à la valeur par défaut. Il n'est pas souvenu / stocké. P>
est-il possible du problème du fait que mes zones de texte utilisent la classe "rangée" pour définir la couleur d'arrière-plan et vous ne pouvez pas modifier une classe à une classe différente, Mais doit utiliser un élément ou un identifiant approprié? Ou si l'ordre des parties de script est peut-être différent? Toutes les perspectives sont appréciées sur mon voyage d'apprentissage. P>
script externe p> mon HTML p>
3 Réponses :
Quelques modifications de connexion, non testées mais devraient fonctionner
Ce que vous faites est, au début de votre candidature, vérifiez qu'il y a un élément enregistré 'farvevalg' avec la valeur 'farve'. Si tel est le cas, vous ajoutez la classe 'Farve' à tous les éléments avec la classe 'rangée'.
Après cela, vous vérifiez s'il y a un élément de ligne avec la classe 'Farve' et, si tel est le cas, vous définissez l'élément de stockage, sinon vous le supprimez. Comme vous pouvez le constater, cela n'a aucun sens pour ce bit de code d'être ici car il n'aura aucun effet. Vous devriez plutôt déplacer ceci si / sinon bloquer à l'intérieur du rappel du clic (après $ (". Rangée"). Tobgleclass ("Farve '); P>) P>
Votre tentative est correcte mais ajoutez / supprimez localStorage que vous faites au mauvais endroit. Vous devez le faire à l'intérieur de ce bouton Cliquez.
Snippet ne fonctionnera pas à cause du problème de Cors. C'est pour la vue de code uniquement. Strong> p> p> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<div class="row">
Test
</div>
<button id="farvevalg">
Change
</button>
"Farge" et "fargevalg" ne sont pas anglais. Toujours code en anglais. Lorsque y compris le code dans une question, assurez-vous qu'il est en anglais.
Oh, merci d'avoir souligné cela. Est-ce une règle générale «meilleure pratice» ou une règle pour des questions sur Stackoverflow que j'ai manqué? J'ai toujours utilisé ma propre langue pour des noms de classe spécifiques, mais mon compagnon de codage amateur-copains parlent tous la même langue maternelle, nous n'avons donc jamais dicssué ou non à utiliser l'anglais pour les noms de classe et les identités. .
C'est une meilleure pratique pour la programmation en général et Stackoverflow. Lors du codage de quelque chose, d'autres pourraient avoir besoin de collaborer et de maintenir ce code que vous avez écrit, même les personnes qui ne parlent pas anglais. Lorsque vous posez une question sur Stackoverflow, il est facile de comprendre que les gens comprennent votre code si son écrit en anglais.