Jus*_*ton 138 javascript jquery
使用$('html').html()我可以得到内的HTML <html>标签(<head>,<body>,等).但是如何获得<html>标签的实际HTML (带属性)?
或者,是否可以<html>使用jQuery(或普通的旧JavaScript)获取页面的整个HTML(包括doctype 等)?
Mic*_*ael 267
获取html元素的最简单方法是:
document.documentElement
Run Code Online (Sandbox Code Playgroud)
以下是参考:https://developer.mozilla.org/en-US/docs/Web/API/Document.documentElement.
更新:然后将html元素作为字符串抓取:
document.documentElement.outerHTML
Run Code Online (Sandbox Code Playgroud)
pos*_*abs 37
这是如何使用JS纯粹获取html DOM元素:
var htmlElement = document.getElementsByTagName("html")[0];
Run Code Online (Sandbox Code Playgroud)
要么
var htmlElement = document.querySelector("html");
Run Code Online (Sandbox Code Playgroud)
如果你想使用jQuery从中获取属性......
$(htmlElement).attr(INSERT-ATTRIBUTE-NAME);
Run Code Online (Sandbox Code Playgroud)
dou*_*rve 17
除了其他一些答案,您还可以通过以下方式访问HTML元素:
var htmlEl = document.body.parentNode;
Run Code Online (Sandbox Code Playgroud)
然后你可以得到内在的HTML内容:
var inner = htmlEl.innerHTML;
Run Code Online (Sandbox Code Playgroud)
这样做似乎稍微快一些.但是,如果您只是获取HTML元素,那么document.body.parentNode似乎要快得多.
获得HTML元素后,可以使用getAttribute和setAttribute方法混淆属性.
对于DOCTYPE,您可以使用document.doctype,在此问题中详细说明.
小智 15
在jQuery中:
var html_string = $('html').outerHTML()
Run Code Online (Sandbox Code Playgroud)
在普通的Javascript中:
var html_string = document.documentElement.outerHTML
Run Code Online (Sandbox Code Playgroud)