Je veux ajouter une classe aux éléments avec un attribut spécifique.
J'ai essayé plusieurs fonctions telles que Quelqu'un pourrait-il me montrer une meilleure façon? p> p> trouver () code> ou filtre () code> mais je ne peux pas Faites-le bien. P> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="element">
<div>
<div class="b active-filter" data-filter="3">data-filter</div>
<div class="b" data-filter="4">data-filter</div>
</div>
<div>
<div class="c d" data-filter="3">data-element</div>
<div class="c d" data-filter="4">data-element</div>
</div>
</div>
4 Réponses :
Je n'ai pas compris pourquoi utilisez-vous pour code> boucle. Essayez celui-ci?
Salut, tu as raison. Je n'en ai pas besoin. Dans votre version, votre utilisation clickeditem.data ("filtre") b> Qu'est-ce qui se passe là-bas?
@ E.G qui appelle l'attribut de données HTML5- *. Les données («filtre») appelle la valeur du filtre de données sur HTML.
Obtenez la valeur d'attribut de données à partir de $ (ceci) et trouvez l'élément avec l'élément correspondant et ajoutez la classe.
p>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="element">
<div>
<div class="b active-filter" data-filter="3">data-filter</div>
<div class="b" data-filter="4">data-filter</div>
</div>
<div>
<div class="c d" data-filter="3">data-element</div>
<div class="c d" data-filter="4">data-element</div>
</div>
</div>Vous pouvez toujours utiliser une approche un peu fonctionnelle? Comme vous pouvez le constater, l'approche que j'ai utilisée, il y a juste une fonction qui décompose le problème assez bien, au moins à mon avis, plutôt que d'avoir une fonction plus grande, je préfère souvent avoir plusieurs fonctions plus petites sur une fonction plus grande, même Si cela prend plus d'espace ou autre chose.
Comme vous pouvez le constater, une fois que les éléments ont été cliqués, l'élément correspondant va dans la fonction code> processus code>, à partir de là, il suffit de déclencher le Un point bonus du point de vue de l'efficacité est que cette solution ne utilise pas JQuery, et c'est juste un fait, avant que quiconque ne saute sur ce train, JQuery est plus lent. que d'utiliser des implémentations indigènes, mais d'être juste, la principale forte> focus forte> de jQuery n'est pas une performance, mais plutôt la compatibilité et la fiabilité. Je doute que la différence serait si grosse que vous obtiendriez une différence majeure, c'est-à-dire des utilisateurs qui se plaignent de la vitesse (s) de la vitesse (s), mais je pensais simplement que je jetterais ce point là-bas aussi. p> p> Removeclasses code> Fonction que je Ne pensez pas que j'ai besoin de clarifier son but. Ensuite, il incendiera addclasses code> et ajoutez la classe (ES) correspondante à l'élément (s) correspondant (s), c'est-à-dire. p> edit h3>
<div class="element">
<div>
<div class="b active-filter" data-filter="3">data-filter</div>
<div class="b" data-filter="4">data-filter</div>
</div>
<div>
<div class="c d" data-filter="3">data-element</div>
<div class="c d" data-filter="4">data-element</div>
</div>
</div>
Vous avez fait refroidir. Essayez celui-ci où vous n'avez pas besoin d'utiliser une boucle ou quoi que ce soit d'autre. magie de jQuery p> p>
Qu'est-ce que
a code>? Avez-vous vraiment besoin d'une boucle?Je pense que vous êtes au mauvais endroit. Il sera préférable de poser une question dans la section de révision du code codereview.stackexchange.com
Cette question devrait être affichée sur codereview.stackexchange.com
Vous avez raison. Je vais poster là-bas là-bas.
codereview.stackexchange.com / Questions / 210811 / ...