Questa è una variazione su una domanda posta tante volte. Dato qualsiasi elemento, voglio essere in grado di trovare qualsiasi altro elemento dopo di esso nell'intero documento. Può essere un fratello ma potrebbe anche essere qualsiasi altro elemento che si verifica in seguito. Ad esempio, dato il seguente markup,Elemento successivo in * intero * documento dopo un determinato elemento
<div>
<p>Hello</p>
<div>
<p>Foo</p>
<p class="bar">Bar</p>
<p>rawr!</p>
</div>
<p>bop</p>
<input/>
<div>
<p>Another</p>
<div>
<span>something</span>
<p>deep!</p>
</div>
</div>
</div>
<p>last</p>
Per il bene di questa descrizione, diciamo la funzione sto cercando è chiamato $.fn.nextInDocument
. Se ho chiamato:
$('.bar').nextInDocument('p'); // <p>rawr</p>
$('.bar').nextInDocument('p').nextInDocument('p'); // <p>bop</p>
Proseguendo, si otterrebbe <p>Another</p>
, quindi <p>deep!</p>
e infine <p>last</p>
.
Esiste qualcosa del genere? Non mi interessa se si tratta di un selettore o di una funzione. Ho solo bisogno della funzionalità.
EDIT Aggiornato la struttura DOM per renderlo una domanda più stimolante e ancora più chiara per quello che sto cercando.
sembra che funzioni. testare alcune situazioni difficili ora ... – Jeff
questo ha resistito a tutto ciò che ho buttato su di esso finora. Mi chiedo quanto bene funzioni, ho pensato fin da ora che non ho intenzione di correre su pagine troppo grandi. grazie mille! – Jeff
@Jeff: Probabilmente potrebbe essere ottimizzato: ad esempio, immagino che valutare il selettore per ogni nodo sia causa di possibili problemi di prestazioni. Suggerirei solo di preoccuparmene se causa un collo di bottiglia. –