Versión revisada...

On 1/24/07, Choan C. Gálvez <[EMAIL PROTECTED]> wrote:
> On 1/24/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > hola, con innerHTML puedes obtener todos los hijos y con cloneNode(true) 
> > todos
> > los hijos además del elemento que lo contiene
> >
> > ¿existe alguna manera (que no sea recorriendo con un bucle o similar) de 
> > copiar
> > todos los hijos de un elemento en otro sin que el primer elemento se copie
> > también?
>
> No en el DOM, que yo sepa.
>
> Intrigado por la consulta, acabo de hacer una funcioncita:
>
>         function cloneChildren(el, dest) {
>                 var ret = [];
>                 for (var i = 0, child; (child = el.childNodes[i]); i++) {
>                         ret.push(child.cloneNode(true));
>                 }
>                 if (dest) {
>                         while(ret.length) {
>                                 dest.appendChild(ret.shift());
>                         }
>                 } else {
>                         return ret;
>                 }
>         }


Versión revisada, sin bucles de más:

        function cloneChildren(el, dest) {
                var clone = el.cloneNode(true);
                if (dest) {
                        while(clone.firstChild) {
                                dest.appendChild(clone.firstChild);
                        }
                } else {
                        return clone.childNodes;
                }       
        }

Salud.
-- 
Choan
<http://choangalvez.nom.es/>
_______________________________________________
javaEScript mailing list
javaEScript@scriptia.net
http://lists.scriptia.net/listinfo.cgi/javaescript-scriptia.net

Responder a