jQuery nextUntil, y compris, sans exclure l'élément correspondant?
Est-il un moyen de le faire facilement nextUntil, de sorte que l'élément compensée par le sélecteur est inclus? J'ai ce qui n'est bien si il y a un frère précédent:
$("#content").find("h3:first").prev().nextUntil("ul:last").wrapAll("<div id='collapse'></div>");
source d'informationauteur jwinn
Vous devez vous connecter pour publier un commentaire.
Supprimer
.prev()
et l'utilisation.addBack()
à la fin de votre sélection, comme indiqué ci-dessous:Pré 1,8 devraient utiliser
andSelf
au lieu deaddBack
La solution de contournement que j'ai trouvé était d'obtenir la
length
à l'aide denextUntil
(ouprevUntil
), puis utilisezslice()
avec cette longueur + 1 surnextAll()
:C'est maladroit, mais il fonctionne. HTH
Fwiw dans le nextAll docs Biziclop mentionne ajoutant
+ *
:mais cela ne fonctionne pas pour moi :/
Voici ce que je fais. Je pense que c'est un peu plus propre que d'autres suggestions.
Le plus intuitif, je pense. Tous fabriqués avec les méthodes jQuery.
Pas besoin de chercher deux fois. Facile à comprendre et facile à retenir.
Je pense que la bonne réponse est
Comme répondu par d'autres, à l'aide de
.addSelf()
est la solution pour la fabrication de l'élément de départ inclus.Et à faire de la fin de l'élément inclusif, à l'aide de la
.nextUntil(".class + *")
méthode a résolu le problème.bien sûr, vous pouvez, il suffit d'utiliser jQuery nextAll.
'nextAll' comprendra les éléments suivants correspondant au sélecteur.
tandis que "nextUntil' exclure la correspondance sélecteur d'élément.