Comment simplifier cette traversée de l'arbre jquery ?
-
12-12-2019 - |
Question
HTML
...
<a id="delete1" href="http://www.example.com">TEST</a>
<p>First</p>
<p>Second</p>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<div id="hidden-qsd">123</div>
...
JS
var id = $('#delete1').nextUntil("div[id^='hidden']").next().last().attr('id');
J'aimerais obtenir l'identifiant du "div" le plus proche commençant par "caché" situé après le lien "#delete1".
Ce code précédent fonctionne mais je pense qu'il existe un moyen plus simple de le faire.
La solution
$('#delete1').nextAll('[id^="hidden"]').attr('id')
nextAll()
est assez
exemple jsbin : http://jsbin.com/usowej/3/edit
Note:si vous avez plusieurs éléments dont l'identifiant commence par hidden
il suffit d'utiliser
$('#delete1').nextAll('[id^="hidden"]:first').attr('id')
pour récupérer uniquement la première occurrence, voir http://jsbin.com/usowej/4/edit
Autres conseils
Vous pouvez utiliser nextAll(selector)
pour obtenir les prochains frères et sœurs après l'élément :
var id = $('#delete1').nextAll("div[id^='hidden']").prop('id');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow