JavaScript / jQuery로 <html> 태그 HTML을 얻는 방법은 무엇입니까?


161

사용 $('html').html()나는 것은 내에서 HTML 얻을 수 있습니다 <html>(태그 <head>, <body>등). 그러나 <html>태그 의 실제 HTML (속성 포함)을 어떻게 얻을 수 있습니까?

또는 <html>jQuery (또는 일반 오래된 JavaScript)로 페이지의 전체 HTML (doctype 등 포함) 을 가져올 수 있습니까?

답변:


305

html요소를 기본적으로 얻는 가장 간단한 방법 은 다음과 같습니다.

document.documentElement

참조는 https://developer.mozilla.org/en-US/docs/Web/API/Document.documentElement 입니다.

업데이트 : 그런 다음 html요소를 문자열로 가져옵니다 .

document.documentElement.outerHTML

1
documentElement브라우저 호환성 에 대한 자세한 내용은이 질문을 참조하십시오 : stackoverflow.com/q/11391827/177710 .
Oliver

얼마나 자주 html 요소를 참조합니까? 나는 일반적으로 성능이 관심사라고 생각하지 않습니다. 어쨌든, 이것은 실제로 더 나은 대답이지만, 수상 후에 WAY로 나왔습니다.
posit labs

42

이것은 JS로 순수하게 html DOM 요소를 얻는 방법입니다.

var htmlElement = document.getElementsByTagName("html")[0];

또는

var htmlElement = document.querySelector("html");

그리고 jQuery를 사용하여 속성을 얻으려면 ...

$(htmlElement).attr(INSERT-ATTRIBUTE-NAME);

이것이 왜 질문에 대답 했는지 설명 할 수 있다면 당신의 대답은 상당히 나을 것 입니다. 또한 코드를 강조 표시하고 {}버튼을 클릭하거나 ctrl + k를 눌러 코드로 표시하십시오.
Ben

18

다른 답변 외에도 다음을 통해 HTML 요소에 액세스 할 수 있습니다.

var htmlEl = document.body.parentNode;

그런 다음 내부 HTML 내용을 얻을 수 있습니다.

var inner = htmlEl.innerHTML;

이렇게하는 것이 조금 더 빠를 것 같습니다 . 그러나 HTML 요소를 얻는 중이라면 조금 더 빠른document.body.parentNode 것 같습니다 .

HTML 요소가 있으면 getAttributeand setAttribute메소드를 사용하여 속성을 망칠 수 있습니다 .

DOCTYPE의 경우이 질문document.doctype 에서 자세히 설명한를 사용할 수 있습니다 .


4
참고로 : 문서에서 본문을 아직 사용할 수없는 경우 실패합니다.
DataDink

3
이 경우 document.head.parentNode헤드 요소가 있으면 여전히 작동합니다.
mahemoff

15

jQuery에서 :

var html_string = $('html').outerHTML()

일반 자바 스크립트에서 :

var html_string = document.documentElement.outerHTML

4

jQuery로 HTML 요소의 속성을 얻으려면 사용할 수 있습니다 .attr();

그래서 $('html').attr('someAttribute');당신에게 someAttribute요소 의 가치를 줄 것입니다html

http://api.jquery.com/attr/

또한 :

여기에 jQuery 플러그인이 있습니다 : http://plugins.jquery.com/project/getAttributes

HTML 요소에서 모든 속성을 가져올 수 있습니다.


1
getAttributes () 프로젝트는 약간 오래되었습니다 (2009 년 2 월).
gligoran
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.