ITエンジニアのブログ

IT企業でエンジニアやってる人間の日常について

jQueryでDOMを生成する際に躓いた点

div 要素に p を5つ追加したい時に

var div = $("<div>");
var p = $("<p>");
for(var i = 0; i < 5; i++){
    div.append(p);
}

とするとうまくいきませんでした。

var div = $("<div>");
var p;
for(var i = 0; i < 5; i++){
    p = $("<p>");
    div.append(p);
}

とするとうまくいきます。二つのコードは同じ p を使いまわしているかいないかなので、参照が同じものを追加しても複製されないことが分かりました。