Eu tenho alguns elementos como abaixo:
<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>
Como posso adicionar uma classe ao elemento que tem um data-slide
valor de atributo de 0
(zero)?
Tentei muitas soluções diferentes, mas nada funcionou. Um exemplo:
$('.slide-link').find('[data-slide="0"]').addClass('active');
Qualquer ideia?
jquery
html
css
custom-data-attribute
MrUpsidown
fonte
fonte
.slide-link
com o atributo de[data-slide="0"]
. Uma vez que algo não pode ser descendente de si mesmo, não tem nada a retornar. No entanto, se você tivesse um wrapper em torno desses links, isso teria funcionado:$('.slide-link-wrapper').find('[data-slide="0"]').addClass('active');
Respostas:
Use o Seletor de Igualdade de Atributo
Fiddle Demo
.encontrar()
isso desce da árvore
fonte
var slidernumber = "0";
, em vez da constante"0"
?Você também pode usar .filter ()
fonte
Procurei a mesma solução com uma variável em vez da String.
Espero poder ajudar alguém com minha solução :)
fonte
você também pode usar o
andSelf()
método para obter o envoltório do DOM, entãofind()
pode ser uma solução alternativa conforme sua ideiafonte