2010-12-02 6 views
0
<div><a href="" class="deleteNextSomething">Delete Something!</a></div> 
<div class="something">This is Something</div> 

De toute évidence, je pouvais le faire:jquery nextALL traversal

$('.deleteNextSomething').click(function() { 
$(this).parent('div').next('.something').remove(); 
}); 

Mais, si mon code HTML est en fait plus comme ceci:

<div><div><div><a href="" class="deleteNextSomething">Delete Something!</a></div></div></div> 
<div class="something">This is Something</div> 

Point est, je ne Je veux savoir combien de parents je dois monter avant de commencer à aller à travers. Je veux juste traverser le DOM dans un « suivant » direction » jusqu'à ce que je frappe le nœud suivant que je cherche.

Est-ce que quelqu'un sait comment résoudre ce problème? Pleasssse.

Informations complémentaires. Dans ce prochain par exemple, je le veux supprimer Something1 donc je ne peux pas dire que les parents (« div ») à côté -.. parce que cela ne tiendrait pas compte de l'élément suivant très

<div> 
    <a href="" class="deleteNextSomething">Delete Something!</a> 
    <div class="something">This is Something 1</div> 
</div> 
<div class="something">This is Something 2</div> 
+0

et nextAll regarde seulement SIBLINGS. Je veux regarder "cousins" et "lointains non-parents, que juste arriver à être quelque part dans le dom" – captainclam

Répondre

2

Si vous voulez regarder le « le plus proche. "Ensuite, ce serait quelque chose comme ça, en utilisant .parents() pour aller à tous les parents, au lieu de seulement le premier niveau:

$('.deleteNextSomething').click(function() { 
    $(this).parents('div').next('.something:first').remove(); 
}); 

You can test it out here. Comme ils sont dans l'ordre inverse après l'appel .next(), vous voulez le :first celui qu'il trouve, ce qui serait le plus local au this vous avez commencé avec.

+0

mis à jour la question originale pour clarifier le problème. Merci quand même! – captainclam

+0

@captainclam - Vous dites qu'il n'y a peut-être aucun parent? –

+0

ouais ... Je sais que vous allez probablement dire "faire une structure plus cohérente", ce que je comprends. Je suis juste convaincu qu'il y a un moyen facile de traverser le dom dans une direction "vers l'avant" – captainclam

Questions connexes