分かってなかったと分かった時は呆然としました。
<h1>h1</h1> <p>p</p>
↑こんなhtmlに対して
var a = $("<div>test</div>"); $("h1").append(a); $("p").append(a);
↑こんなスクリプトを動かすと、
<h1>h1<div>test</div></h1> <p>p<div>test</div></p>
↑こうなると思ってました。
はい、そこ笑わない! 初めは誰だって初心者ですよ!
まあ、私の場合、初めてjQueryを触ってから1年以上すぎているわけで、うふふふふ。やっぱり、周囲にスキルがある人間がいないアマグラマって不利なんじゃね? って環境のせいにしちゃいかんですね。*1
で。
だから、↓こんなスクリプト動かした時、今までremoveしてappendしてからもにょもにょしてたので、顔から火が出る思いでしたね。cloneメソッドってそのためにあるのか。
var a = $("<div>test</div>"); $("h1").append(a); a.bind("click",function(){alert("test")}); setTimeout(function(){$("p").append(a)}, 5000);
いや、jQueryオブジェクトってすごいわー。私の他にも勘違いをしてる人がいるかもしれないので、メモっておきました。いないか。
*1:いや、だって今まで、$("h1").append($("<div>test</div>"));みたいに書いてたし