選択した要素の外側のHTMLを取得する 質問する

選択した要素の外側のHTMLを取得する 質問する

jQuery を使用して、選択したオブジェクトの HTML を取得しようとしています。関数については認識していますが、問題は、選択したオブジェクト (この場合はテーブル行で、行内のセルのみが返されます).html()を含む HTML が必要なことです。.html()

検索してみたところ、オブジェクトのクローンを作成し、それを新しく作成した div に追加するなど、非常に「ハックっぽい」タイプの方法をいくつか見つけましたが、これは本当に汚いようです。もっと良い方法はあるのでしょうか、それとも jQuery の新しいバージョン (1.4.2) には何らかのouterHtml機能があるのでしょうか?

ベストアンサー1

現在 (2012 年 5 月 1 日)、すべての主要ブラウザが outerHTML 関数をサポートしていると思います。このスニペットで十分だと思います。個人的には、これを覚えておくことをお勧めします。

// Gives you the DOM element without the outside wrapper you want
$('.classSelector').html()

// Gives you the outside wrapper as well only for the first element
$('.classSelector')[0].outerHTML

// Gives you the outer HTML for all the selected elements
var html = '';
$('.classSelector').each(function () {
    html += this.outerHTML;
});

//Or if you need a one liner for the previous code
$('.classSelector').get().map(function(v){return v.outerHTML}).join('');

編集基本的なサポート統計のためにelement.outerHTML

おすすめ記事