Eu quero obter o primeiro pai que tem um prefixo de classe específico, suponha:
<div class="div-a3332">
<div class="div-a89892">
<p>
<div class="div-b2">
<div id="divid">hi</div>
</div>
</p>
</div>
</div>
Por exemplo, meu elemento atual é #divid
e quero encontrar o primeiro elemento que tenha o prefixo de classe div-a. Então, basicamente, ele selecionará:
<div class="div-a89892">
jquery
jquery-selectors
Viagem no tempo
fonte
fonte
<div class='a'>
, em seguida, forneça regras paradiv.a
. Não sei por que você está colocandodiv
o nome da classe, na verdade.Respostas:
Use
.closest()
com um seletor:fonte
div
selector de elemento:$('#divid').closest('[class^="div-a"]')
. Como o @Stefan comentou, você deve realmente usar várias classes.Jquery mais tarde permitiu que você encontrasse os pais com o
.parents()
método.Por isso, recomendo usar:
Isso fornece todos os nós pai que correspondem ao seletor. Para obter o primeiro pai correspondente ao seletor, use:
Para outras consultas de travessia do DOM, consulte a documentação sobre a travessia do DOM .
fonte