jQueryのhtml()メソッドはjQueryオブジェクトを返すわけじゃない
ので,
var div = $('<div>'); var p = $('<p>').appendTo(div); div.html(div.html() + "aaa"); div.find('p').eq(0) === p; // false
html()メソッドはinnerHTML(テキスト)を返すので,それをセットしたらその時点でDOMツリーは再生成されるので,変数で持ってるpとは別物に差し変わってるんだな.