[jQuery-es] wrap para los x primeros children de un div y otrowrap para el resto
José M. Belmonte
clicstudio en hotmail.com
Sab Mar 31 12:03:01 PDT 2007
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!)
Gracias!
xema
Más información sobre la lista de distribución jquery-es