可能性の重複:.html()の親を取得する方法はありますか?
<html> <head></head> <body></body> </html>
と
$('html').html()
と私は取得のみ:を<head></head> <body></body>
Get selected element's outer HTML
私はこのコードを持っています0
どのようにコード全体を取得できますか?私が使用している要素の親でもあります。.html()
...
可能性の重複:.html()の親を取得する方法はありますか?
<html> <head></head> <body></body> </html>
と
$('html').html()
と私は取得のみ:を<head></head> <body></body>
Get selected element's outer HTML
私はこのコードを持っています0
どのようにコード全体を取得できますか?私が使用している要素の親でもあります。.html()
...
ビット:それは全部のクローンを作成する必要があるため
$('<div />').html($('html').clone()).html();
は、ページ上のHTMLの多くの古いブラウザでは時間がかかる可能性があります。
編集:あなたはそれをしないjQueryの機能を使用する場合は、1つだけ書く:
$.fn.outerHtml = function (a) {
if (a) {
a = $(a).insertBefore(this);
this.remove();
return a;
}
return $('<div />').html($('html').clone()).html();
};
は、それからちょうど$('html').outerHtml()
を呼び出します。
私は多くの方法があると思います。 jQuery("html")[0].outerHTML;
またはjQuery("html").attr("outerHTML");
編集:これはクロスブラウザではなく、私はそれを忘れていました。 Firefoxはこれをサポートしていません。そのための(クローニング)ハックがあります。
編集: FFをサポートするためにHow do I do OuterHTML in firefox?を参照してください。ハックの
「outerHTML」はIEのみです。 – BoltClock
これについて何:
$('<div>').append($('html').clone()).remove().html();
とにかく、あなたが<html>
を取得しようとしているし、それが正しい文書でのみ<html>
タグすることになった場合 - なぜそれを手動で追加していないinnerHTMLプロパティですか?
このjQueryの拡張試してみてください。
jQuery.fn.outerHTML = function(s) {
return (s) ? this.before(s).remove() : jQuery("<p>").append(this.eq(0).clone()).html();
}
をあなたはこのようにそれを呼び出すことができます。
$("html").outerHTML();
クレジットはthis pageに行きます。
一方で、これは技術的な面から興味深い質問のように思えますが、他方ではなぜ「」でこれをしたいのですか?私が見た95%のページでは、 "" + $( "html")、html()+ ""と言うことができます。 – nnnnnn