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 qui a une data-slide
valeur d'attribut de 0
(zéro)?
J'ai essayé de nombreuses solutions différentes mais rien n'a fonctionné. Un exemple:
$('.slide-link').find('[data-slide="0"]').addClass('active');
Une idée?
jquery
html
css
custom-data-attribute
MrUpsidown
la source
la source
.slide-link
avec l'attribut de[data-slide="0"]
. Puisque quelque chose ne peut pas être un descendant de lui-même, il n'a rien à retourner. Cependant, si vous aviez un wrapper autour de ces liens, cela aurait fonctionné:$('.slide-link-wrapper').find('[data-slide="0"]').addClass('active');
Réponses:
Utiliser le sélecteur d'attribut égal
Fiddle Demo
.trouver()
ça marche dans l'arbre
la source
var slidernumber = "0";
, au lieu de la constante"0"
?Vous pouvez également utiliser .filter ()
la source
J'ai recherché la même solution avec une variable au lieu de la chaîne.
J'espère pouvoir aider quelqu'un avec ma solution :)
la source
vous pouvez également utiliser la
andSelf()
méthode pour obtenir le conteneur DOM, puisfind()
contourner votre idéela source