siguiente remove prevall nextall hermano example elemento buscar brother after jquery jquery-traversing

remove - jQuery nextUntil, incluido, sin excluir el elemento coincidente?



select next jquery (7)

¿Hay una manera de hacer fácilmente NextTil, para que se incluya el elemento que coincide con el selector? Tengo esto, que solo está bien si hay un hermano anterior:

$("#content").find("h3:first").prev().nextUntil("ul:last").wrapAll("<div id=''collapse''></div>");


Como contestaron otros, usar .addSelf() es la solución para hacer que el elemento de inicio sea inclusivo.

$("#content").find("h3:first").nextUntil("ul:last").addSelf().wrapAll("<div id=''collapse''></div>");

Y para hacer que el elemento final sea inclusivo, el método .nextUntil(".class + *") resolvió el problema.

$("#content").find("h3:first").nextUntil("ul:last + *").addSelf().wrapAll("<div id=''collapse''></div>");


Creo que la respuesta correcta es

$("#content").find("h3:first").nextUntil("ul:last").addSelf().wrapAll("<div id=''collapse''></div>");


Elimine .prev() y use .addBack() al final de su selector como se muestra a continuación:

$("#content").find("h3:first").nextUntil("ul:last").addBack().wrapAll("<div id=''collapse''></div>");

Pre 1.8 debería usar andSelf lugar de addBack


Esto es lo que hago. Creo que es un poco más limpio que otras sugerencias.

var elearr = $(''selector1'').nextUntil(''selector2''); var lastele = elearr[elearr.length-1]; elearr.push($(lastele).next());


La solución que encontré fue obtener la length usando nextUntil (o prevUntil ), luego usar slice() con esta longitud + 1 en nextAll() :

var inclusiveNextUntil = $(this).nextUntil( ''.some-class'' ).length; var inclusiveNextUntil = $(this).nextAll().slice( 0 , inclusiveNextUntil + 1 );

Es torpe pero funciona. HTH

Fwiw en la siguienteTodos los documentos que Biziclop menciona agregando + * :

$obj.nextUntil(''.last-item-to-include + *'')

pero esto no funciona para mí: /


por supuesto que puedes, solo usa jQuery nextAll .

''nextAll'' incluirá los siguientes elementos que coinciden con ese selector.

mientras que ''nextUntil'' excluye el elemento selector correspondiente.


var s = $("li.start").nextUntil("li.stop"); s = s.add(s.last().next()).add(s.first().prev()); //and do whatever you need to with s

Lo más intuitivo, creo. Todo hecho con métodos jQuery. No es necesario buscar dos veces. Fácil de entender y fácil de recordar.