[jQuery-es] wrap para los x primeros children de un div y otrowrap para el resto
Choan Gálvez
choan.galvez en gmail.com
Lun Abr 2 02:20:19 PDT 2007
Helou again. Voy con otra pista...
On 31/03/2007, at 21:03, José M. Belmonte wrote:
> Hey Choan, gracias por responder..
>
>> tengo una estrucura normal tal que:
>>
>> <div id="foo">
>> <h2>
>> <p>
>> <p>
>> <h3>
>> <p>
>> <h3>
>> <h4>
>> <ul>
>> <p>
>> </div>
>>
>> necesito coger los x primeros "children" (x y lo he calculado) y
>> hacerles un
>> wrap para meternos dentro de un <div id="izquierda"> y coger el
>> resto y
>> meterlos dentro de un <div id="derecha"> para que la estructura
>> quede asi:
>>
>> <div id="foo">
>> <div id="izquierda">
>> <h2>
>> <p>
>> <p>
>> <h3>
>> <p>
>> </div>
>> <div id="derecha">
>> <h3>....
>> </div>
>> </div>
>>
>
>> El caso es que `wrap` envolverá cada uno de los elementos que tengas
>> seleccionados, así que yo tiraría por `append` o `appendTo`. Algo
>> como:
>
>> var iz = $("<div id='izquierda'/>");
>> $(elselector que toque).appendTo(iz);
>> iz,appendTo("#foo");
>
> a lo mejor no lo he entendido bien, pero esto que me has dicho lo
> que hace
> es esto:
>
> <div id="foo">
> <div id="izquierda"> <h2> </div>
> <div id="izquierda"> <p> </div>
> <div id="izquierda"> <p> </div>
> <div id="izquierda"> <h3> </div>
> <div id="izquierda"> <p> </div>
> ..
>
> el problema es que no se como coger h2, p, p... los que sean
> mediante un
> indice x y decirle ponlos en <div id=izquierda></div>
>
> es decir, como hacer ese:
>> $(elselector que toque).appendTo(iz);
> pero con todos los selectores que toquen... a ver si me aclaro, lo
> que no se
> es como coger y decir:
>
> $("#foo").children()[0] y entonces append() a este todos los que
> tengan el
> index-1
> (porque eso de children()[0] no funciona, supongo que evidentemente!)
A ver qué tal esto:
var c = $("#foo").children();
$("<div id='izda'></div>").appendTo("#foo");
$("<div id='dcha'></div>").appendTo("#foo");
var x = [Este valor viene de algún sitio];
c.lt(x + 1).appendTo("#izda");
c.gt(x).appendTo("#dcha");
Un saludo.
--
Choan Gálvez
<choan.galvez en gmail.com>
<http://choangalvez.nom.es/>
Más información sobre la lista de distribución jquery-es