12
votes

jquery sélectionne des frères et sœurs jusqu'à '

J'ai un DOM sous la forme de

<input class="parent"></div>
<input class="child"></div>
<input class="child"></div>
<input class="parent"></div>
<input class="child"></div>
...


0 commentaires

4 Réponses :


7
votes

Vous pouvez itérer via le nextall div < / Code> Les éléments de frères et sœurs jusqu'à ce que vous trouviez le suivant .parent , cochez ce exemple : < Pré> xxx

marquage utilisé: xxx

...


1 commentaires

Je vais donner à ce sujet un autre coup. Je l'avais fait de cette façon, mais cela a causé beaucoup de lenteur, en raison d'un élément de Dom supplémentaire que je n'ai pas inclus (wrappers). Je n'ai pas pensé à rentrer de faux (j'ai vérifié tout le chemin). Je vais l'optimiser et l'essayer à nouveau. Merci!



6
votes

* Voir @foson Réponse pour JQuery 1.4+ *

Découvrez Ben Almans jusqu'à ce que vous utilise .

Cela vous donne 3 méthodes utiles: NextUntil, Prevuntil, Preshormuntil.


2 commentaires

J'ai fini par aller avec cet util, très plus facile et ce qui précède, mais je n'ai pas à le maintenir;)


Il vaut la peine de vérifier @foson réponse qui raconte à propos de Nextuntil



22
votes

jQuery 1.4 a maintenant la fonction .nntextuntil (sélecteur): xxx


0 commentaires

0
votes

Je pense qu'aucun besoin de fonctions personnalisées ci-dessus, JQuery prend en charge cette fonctionnalité par Nextoncel (sélecteur, filtre) code> Fonction, mais vous devez ajouter un filtre pour appliquer uniquement votre script aux éléments filtrés non à tous Éléments suivants:

//hide all .child elements
$('div.child').hide();
$('div.parent').click(function() {
  //Toggle (show or hide) only .child elements until finding .parent element.
  $(this).nextUntil('div.parent', 'div.child').slideToggle('slow');
});


0 commentaires