Ich habe ein paar Elemente wie unten:
<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>
Wie kann ich dem Element, dessen Attribut "data-slide" den Wert "0" (Null) hat, eine Klasse hinzufügen?
Ich habe viele verschiedene Lösungen ausprobiert, aber nichts hat funktioniert. Ein Beispiel:
$('.slide-link').find('[data-slide="0"]').addClass('active');
Irgendeine Idee?
Verwenden Sie Attribut gleich Selektor
$('.slide-link[data-slide="0"]').addClass('active');
[Fiddle Demo]()
es funktioniert den Baum hinunter
Holt die Nachfahren jedes Elements im aktuellen Satz übereinstimmender Elemente, gefiltert durch einen Selektor, ein jQuery-Objekt oder ein Element.
Sie können auch andSelf()
Methode verwenden, um Wrapper DOM enthalten dann find()
kann als Ihre Idee zu umgehen sein
$(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>