Come semplificare questo Traversal Tree JQuery?
-
12-12-2019 - |
Domanda
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');
.
Mi piacerebbe ottenere l'ID del "div" più vicino a partire da "nascosto" situato dopo il link "# delete1".
Questo codice precedente funziona ma penso che ci sia un modo più semplice per farlo.
Soluzione
$('#delete1').nextAll('[id^="hidden"]').attr('id')
.
nextAll()
è sufficiente
Esempio Jsbin: http://jsbin.com/isowej/3/edit
. Nota: se hai più di un elemento il cui ID sta iniziando con hidden
usa solo
$('#delete1').nextAll('[id^="hidden"]:first').attr('id')
.
Per recuperare solo il primo successivo, vedere http://jsbin.com/isowej/4/edit
Altri suggerimenti
È possibile utilizzare nextAll(selector)
per ottenere i fratelli successivi dopo l'elemento:
var id = $('#delete1').nextAll("div[id^='hidden']").prop('id');
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow