Como envolver vários blocos div com nomes de classs diferentes no jQuery?

Duplicar Possível:
Como envolver tags DIV com nomes de classs diferentes no jQuery?

Eu tenho os seguintes blocos HTML repetidos no documento

 
My first div
My second div
My first div
My second div
...

Como posso envolver os blocos de Divs com jQuery para obter o seguinte resultado …

  
My first div
My second div
My first div
My second div
...

Você pode fazer algo assim:

 $('#btnTest').on('click', function() { $("body").append('
'); $("body").append('
'); $(".first").eq(0) .clone() .appendTo($(".container").eq(0)) .end() .remove(); $(".second").eq(0) .clone() .appendTo($(".container").eq(0)) .end() .remove(); $(".first").eq(0) .clone() .appendTo($(".container").eq(1)) .end() .remove(); $(".second").eq(0) .clone() .appendTo($(".container").eq(1)) .end() .remove(); });

Primeiro você adiciona ao DOM o número de div que você quer com o container da class. Então, para cada div. Primeiro e segundo, você tem que pegar o primeiro no $(".first").eq(0) cloná-lo e, em seguida, anexá-lo ao primeiro “.container”. Você tem que usar .end() antes de remover para ter certeza de remover o div original e não o clonado.

Você faz isso para cada div e altera o “.container” alterando o número em $(".container").eq(0) .

Este código funciona bem para o seu exemplo, mas se você tiver mais “.container” você deve fazer um loop dele.