Comment utiliser 'Si $(this) a attribut data -'
Je suis avec un petit problème. J'ai quelques boutons, chacun avec un autre data-function=""
attribut. Je veux exécuter un petit script pour vérifier lequel des boutons a été cliqué.
<a href="#" class="functionButton" data-function="blogFunctionaliteit">Blog</a>
<a href="#" class="functionButton" data-function="offerteFunctionaliteit">Offerte</a>
<a href="#" class="functionButton" data-function="overzichtFunctionaliteit">Offerte</a>
Je veux simplement un script qui dit
if $(this) has <data-function="blogFunctionaliteit"> { }
if $(this) has <data-function="offerteFunctionaliteit"> { }
if $(this) has <data-function="overzichtFunctionaliteit"> { }
else { //do nothing }
J'ai essayé beaucoup de chose, mais tout ne semble pas être de travail, y compris
if ($(this).attr('data-function', 'blogFunctionaliteit') { }
- Qui résulte en un oui, toujours, comme il vérifie seulement si l'objet a le premier paramètre, au lieu de vérifier eux deux.
Merci d'avance pour l'écriture de la bonne jQuery ou pourrait me conseiller d'utiliser quelque chose d'autre.
Vous devez vous connecter pour publier un commentaire.
Pour le court chemin, essayez ceci:
Pendant ce temps, j'ai gagné beaucoup d'expérience avec JavaScript et j'ai quelques améliorations pour mon propre code suggestion. Si quelqu'un est de la lecture de cette réponse que je vous recommande fortement d'utiliser le code suivant:
Mais pourquoi vous devriez l'utiliser? C'est beaucoup plus compliqué! Eh bien, oui, il est, mais voici pourquoi:
this
dans une variable, carthis
peut-être pas ce que vous en pensez, checkout ce lien: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Operators/this$(...)
) une seule fois, puis le stocker dans une variable afin d'améliorer les performances. De même pour les fonctions de l'objet.Faites-moi confiance, vous aurez moins de problèmes avec JavaScript si vous commencez à écrire votre code comme le deuxième extrait de code.
Que vous pouvez faire:
jQuery a native prise en charge des données: https://api.jquery.com/jQuery.data/
Votre erreur, c'est que vous êtes à l'aide de la fonction d'attribut afin d'appliquer des modifications à l'attribut. Au lieu de cela, je pense que vous voulez vérifier si la valeur de l'attribut est celui que vous voulez. C'est donc ce que vous devez faire: