जावास्क्रिप्ट / jQuery के साथ <html> टैग HTML कैसे प्राप्त करें?


161

का उपयोग करते हुए $('html').html()मैं भीतर एचटीएमएल प्राप्त कर सकते हैं <html>(टैग <head>, <body>आदि)। लेकिन मैं <html>टैग (विशेषताओं के साथ) का वास्तविक HTML कैसे प्राप्त कर सकता हूं ?

वैकल्पिक रूप से, क्या <html>jQuery (या सादे पुराने जावास्क्रिप्ट) के साथ पृष्ठ का संपूर्ण 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
ओलिवर

कितनी बार आप html एलिमेंट को रेफ कर रहे हैं !? मुझे नहीं लगता कि आम तौर पर प्रदर्शन की चिंता होनी चाहिए। वैसे भी, यह वास्तव में बेहतर जवाब है, लेकिन यह पुरस्कार के बाद WAY में आया था।
पॉज़िट लैब

42

जेएसएम के साथ html डोम तत्व को शुद्ध रूप से प्राप्त करने का तरीका यह है:

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

या

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

और यदि आप इसे से विशेषताएँ प्राप्त करने के लिए jQuery का उपयोग करना चाहते हैं ...

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

आपका उत्तर काफी बेहतर होगा यदि आप बता सकते हैं कि इस प्रश्न का उत्तर क्यों दिया गया। इसके अलावा, कृपया कोड को हाइलाइट करें और {}बटन पर क्लिक करें या इसे कोड के रूप में चिह्नित करने के लिए ctrl + k दबाएं।
बेन

18

कुछ अन्य जवाबों के अलावा, आप एचटीएमएल एलिमेंट को भी एक्सेस कर सकते हैं:

var htmlEl = document.body.parentNode;

तब आप आंतरिक HTML सामग्री प्राप्त कर सकते हैं:

var inner = htmlEl.innerHTML;

ऐसा करने से ऐसा लगता है कि यह तेजी से कम है । यदि आप अभी एचटीएमएल तत्व प्राप्त कर रहे हैं, तो document.body.parentNodeलगता है कि यह काफी तेज है

आपके पास HTML तत्व होने के बाद, आप विशेषताओं getAttributeऔर setAttributeविधियों के साथ गड़बड़ कर सकते हैं ।

DOCTYPE के लिए, आप उपयोग कर सकते हैं document.doctype, जो इस प्रश्न पर विस्तृत था ।


4
एक नोट के रूप में: यह विफल हो जाएगा अगर शरीर अभी तक दस्तावेज़ पर उपलब्ध नहीं है।
डेटाडिंक

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)।
Gligoran
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.