使用して$('html').html()
、私は内のHTMLを取得することができます<html>
(タグ<head>
、<body>
など、)。しかし、どうすれば<html>
タグの実際のHTML (属性付き)を取得できますか?
または、<html>
jQuery(または古いJavaScript)を使用して、ページのHTML全体(doctype など)を取得することはできますか?
使用して$('html').html()
、私は内のHTMLを取得することができます<html>
(タグ<head>
、<body>
など、)。しかし、どうすれば<html>
タグの実際のHTML (属性付き)を取得できますか?
または、<html>
jQuery(または古いJavaScript)を使用して、ページのHTML全体(doctype など)を取得することはできますか?
回答:
html
要素をネイティブに取得する最も簡単な方法は次のとおりです。
document.documentElement
これがリファレンスです:https : //developer.mozilla.org/en-US/docs/Web/API/Document.documentElement。
更新:html
要素を文字列として取得するには、次のようにします。
document.documentElement.outerHTML
これは、JSで純粋にHTML DOM要素を取得する方法です。
var htmlElement = document.getElementsByTagName("html")[0];
または
var htmlElement = document.querySelector("html");
そして、jQueryを使用してそこから属性を取得したい場合...
$(htmlElement).attr(INSERT-ATTRIBUTE-NAME);
{}
ボタンをクリックするか、Ctrl + Kキーを押してコードとしてマークアップしてください。
他のいくつかの回答に加えて、次の方法でHTML要素にアクセスすることもできます。
var htmlEl = document.body.parentNode;
次に、内部のHTMLコンテンツを取得できます。
var inner = htmlEl.innerHTML;
この方法を使用すると、わずかに高速になるようです。あなただけのHTML要素を取得している場合は、しかし、document.body.parentNode
であるように思わかなり速いです。
HTML要素を取得したら、getAttribute
およびsetAttribute
メソッドを使用して、属性を変更できます。
DOCTYPEには、この質問でdocument.doctype
詳しく説明したを使用できます。
document.head.parentNode
head要素があれば引き続き機能します。
jQueryを使用してHTML要素の属性を取得する場合は、 .attr();
そう$('html').attr('someAttribute');
あなたの価値与えるsomeAttribute
要素のをhtml
ここにjQueryプラグインがあります:http : //plugins.jquery.com/project/getAttributes
HTML要素からすべての属性を取得できます
documentElement
ブラウザの互換性の詳細については、この質問もご覧ください:stackoverflow.com/q/11391827/177710。