jQuery で、innerHTML じゃなくて outerHTML を実現する方法があった。 jQuery.fn.outerHTML = function(s) { return (s) ? this.before(s).remove() : jQuery("<p>").append(this.eq(0).clone()).html(); } jQuery: outerHTML – Yelotofu わかりやすく書くとこんな感じか。 jQuery.fn.outerHTML = function(s) { if (s) { this.before(s); # 自分の直前に挿入。 this.remove(); # そして自分自身を削除。 return this; } else { var dummy = jQuery("<p>") # ダミーの <p> を作成。 var elem = thi