J'ai quelques éléments comme ci-dessous :
<a class="slide-link" href="#" data-slide="0">1</a>
<a class="slide-link" href="#" data-slide="1">2</a>
<a class="slide-link" href="#" data-slide="2">3</a>
Comment puis-je ajouter une classe à l'élément dont la valeur de l'attribut data-slide
est de 0
(zéro) ?
J'ai essayé de nombreuses solutions différentes mais rien ne fonctionne. Un exemple :
$('.slide-link').find('[data-slide="0"]').addClass('active');
Une idée ?
Utilisez [Attribut Equals Selector] (https://api.jquery.com/attribute-equals-selector/)
$('.slide-link[data-slide="0"]').addClass('active');
[Démonstration de l'astuce]()
cela fonctionne en bas de l'arbre
Obtenez les descendants de chaque élément dans l'ensemble actuel d'éléments correspondants, filtré par un sélecteur, un objet jQuery ou un élément.
vous pouvez également utiliser la méthode andSelf()
pour obtenir le DOM contenu dans le wrapper, puis find()
peut être contourné selon votre idée
$(function() {
$('.slide-link').andSelf().find('[data-slide="0"]').addClass('active');
})
.active {
background: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a class="slide-link" href="#" data-slide="0">1</a>
<a class="slide-link" href="#" data-slide="1">2</a>
<a class="slide-link" href="#" data-slide="2">3</a>