2009-09-04 15 views
5

En el siguiente código, estoy intentando recorrer cada nodo secundario y anexar el elemento secundario a otro elemento: ¿cuál es la sintaxis correcta dentro del ciclo?jQuery anexe nodos secundarios para cada

$(this).children().each( 
    $(div).appendChild(this.childNodes.length - 1); 
); 

Respuesta

8

Dentro de la función each(), this se refiere a lo que está iterando, en este caso el children(). No es el this del objeto jQuery original.

Por lo tanto:

$(this).children().each(function() {  
    $(div).appendChild($(this)); 
}); 
0

Debe utilizar una devolución de llamada de función o función anónima en each llamada:

$(this).children().each(function() { 
    $(div).appendChild(this.childNodes.length - 1); 
}); 

o

function doSomething() { 
    $(div).appendChild(this.childNodes.length - 1); 
} 

$(this).children().each(doSomething); 

no estoy seguro de si su código no podría mejorarse pero no ha Es poco lo que puedo decir cuando veo solo una pequeña porción de él.

Cuestiones relacionadas