使用$('html').html()我可以在<html>标签(<头>,<身体>等)内获得html。但是我怎么能得到< HTML >标签的实际HTML(带属性)?
或者,是否有可能获得页面的整个HTML(包括doctype, < HTML >等)与jQuery(或普通的旧JavaScript)?
使用$('html').html()我可以在<html>标签(<头>,<身体>等)内获得html。但是我怎么能得到< HTML >标签的实际HTML(带属性)?
或者,是否有可能获得页面的整个HTML(包括doctype, < HTML >等)与jQuery(或普通的旧JavaScript)?
jQuery:
var html_string = $('html').outerHTML()
在纯Javascript中:
var html_string = document.documentElement.outerHTML
如果你想用jQuery获取HTML元素的属性,你可以使用.attr();
所以美元(html) .attr(“someAttribute”);会给你元素html的someAttribute的值
http://api.jquery.com/attr/
另外:
这里有一个jQuery插件:http://plugins.jquery.com/project/getAttributes
它允许您从HTML元素中获取所有属性
这是如何获得html DOM元素纯JS:
var htmlElement = document.getElementsByTagName("html")[0];
or
var htmlElement = document.querySelector("html");
如果你想用jQuery来获取属性…
$(htmlElement).attr(INSERT-ATTRIBUTE-NAME);
除了一些其他的答案,你还可以通过以下方式访问HTML元素:
var htmlEl = document.body.parentNode;
然后你可以得到内部的HTML内容:
var inner = htmlEl.innerHTML;
这样做似乎稍微快一些。但是,如果您只是获取HTML元素,document.body.parentNode似乎要快得多。
有了HTML元素之后,可以使用getAttribute和setAttribute方法来处理属性。
对于DOCTYPE,可以使用document。Doctype,在这个问题中详细阐述过。
获取html元素的最简单方法是:
document.documentElement
这里是参考资料:https://developer.mozilla.org/en-US/docs/Web/API/Document.documentElement。
更新:然后抓取html元素作为字符串,你会做:
document.documentElement.outerHTML
我发现其他简单的方法使用纯javascript:
const htmlElement = document.querySelector(':root') console.log(htmlElement)