jQuery 最初のDIVの前へ、最後のDIVを
jQUeryで、
指定した要素の中にある複数のDIVの内、最初のDIVの前に
指定した要素の中の最後のDIVを複写して作成。
そして、
指定した要素の中の最後のDIVを削除する
方法について教えていただけないでしょうか。
<div id="waku"></div>
Menu=[{'Cmnt1':'aaaaaaa'},{'Cmnt1':'bbbbbbbbbb'},{'Cmnt1':'ccccccccccc'},{'Cmnt1':'ddddddddd'}];
for(var i=0;i<Menu.length;i++){
$(#waku).append(<div id="eachDiv"'+i+'">'+文字列+'</div>');
$('#eachDiv'+i).append('<br>'+i+' : '+Menu[i].Cmnt1);
}
として、以下のようなイメージのdivの構造を作成します。
<div id="waku">
<div id="eachDiv0">文字列
<div>0:aaaaaa</div>
</div>
<div id="eachDiv1">文字列
<div>1:bbbbbbbb</div>
</div>
<div id="eachDiv2">文字列
<div>2:ccccccc</div>
</div>
<div id="eachDiv3">文字列
<div>3:ddddddd</div>
</div>
</div>
上記のような構造を
以下のような構造にしたいのです。
<div id="waku">
<div id="eachDiv3">文字列
<div>3:ddddddd</div>
</div>
<div id="eachDiv0">文字列
<div>0:aaaaaa</div>
</div>
<div id="eachDiv1">文字列
<div>1:bbbbbbbb</div>
</div>
<div id="eachDiv2">文字列
<div>2:ccccccc</div>
</div>
</div>
次のようにしてみましたが、#eachDiv3の中の要素のみ複写されてしまいます。
つまり、以下のようになってしまいます。
<div id="waku">
<div>3:ddddddd</div> //eachDiv3の中身
<div id="eachDiv0">文字列
<div>0:aaaaaa</div>
</div>
<div id="eachDiv1">文字列
<div>1:bbbbbbbb</div>
</div>
<div id="eachDiv2">文字列
<div>2:ccccccc</div>
</div>
<div id="eachDiv3">文字列
</div>
</div>
//コード
var elem=$('#waku div:last');
$('#waku div:first').before(elem.clone(true));
elem.remove();
#eachDiv3自体を先頭へ複写して、最後の#eachDiv3を削除するにはどのようにしたら良いのでしょうか。
よろしくお願いいたします。
お礼
>tdの下にはブロック要素が書けるので、divも書ける やはり、td要素の中にもdivは書くことは問題ありませんよね? HTML4.01で、td直下にdiv要素を含めるのは正しくない と噂で聞いたので、そんなわけがないと思い質問しましたが、 すっきりしました。 ほんとうにありがとうございました!