Mam kilka elementów jak poniżej:
<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>
Jak mogę dodać klasę do elementu, który ma data-slide
wartość atrybutu 0
(zero)?
Próbowałem wielu różnych rozwiązań, ale nic nie działało. Przykład:
$('.slide-link').find('[data-slide="0"]').addClass('active');
Dowolny pomysł?
jquery
html
css
custom-data-attribute
MrUpsidown
źródło
źródło
.slide-link
z atrybutem[data-slide="0"]
. Ponieważ coś nie może być potomkiem samego siebie, nie ma nic do zwrócenia. Jednak gdybyś miał$('.slide-link-wrapper').find('[data-slide="0"]').addClass('active');
Odpowiedzi:
Użyj selektora atrybutu równa się
Fiddle Demo
.odnaleźć()
działa w dół drzewa
źródło
var slidernumber = "0";
zamiast stałej"0"
?Możesz także użyć .filter ()
źródło
Szukałem tego samego rozwiązania ze zmienną zamiast String.
Mam nadzieję, że mogę komuś pomóc z moim rozwiązaniem :)
źródło
Możesz także użyć
andSelf()
metody, aby uzyskać opakowanie DOM, a następniefind()
możesz to obejść jako swój pomysłźródło