gpt4 book ai didi

javascript - 将 div 提取为包含 CSS 类的 HTML

转载 作者:行者123 更新时间:2023-11-30 16:33:39 26 4
gpt4 key购买 nike

我正在尝试创建一个通用函数来提取 div 内容(带有嵌套元素)并将其保存在本地 HTML 文件中。

基本上我得到了 div innerHTML,将它包装在 html/head/body 标签中,然后保存它:

function div2html() {
var inner=document.getElementById("div2save").innerHTML;
var html="<html><head></head><body>"+inner+"</body></html>";
saveTextAsFile("div2html.html", html);
}

在这里查看工作版本:jsfiddle

但是我不确定如何处理类。如您所见,示例中的类 (bigbold) 未嵌入到新的 HTML 中。我需要一些方法来获取 div 中使用的所有类,然后将它们(或计算样式?)添加到我生成的 html 中。这可能吗?还有其他解决方法吗?

最佳答案

尝试在保存的 html 中包含 style 元素 .outerHTML

function div2html() {
var inner=document.getElementById("div2save").innerHTML;
var style = document.getElementsByTagName("style")[0].outerHTML;
var html="<html><head>"+style+"</head><body>"+inner+"</body></html>";
saveTextAsFile("div2html.html", html);
}

jsfiddle http://jsfiddle.net/fb6s763w/1/


或者,使用window.getComputedStyle() 只选择#div2save 子节点的css

function div2html() {
var inner = document.getElementById("div2save");
var style = window.getComputedStyle(inner.children[0]).cssText;
var html = "<html><head><style>"
+ "." + inner.children[0].className
+ "{" + style + "}"
+ "</style></head><body>"
+ inner.innerHTML + "</body></html>";
saveTextAsFile("div2html.html", html);
}

jsfiddle http://jsfiddle.net/fb6s763w/2/

关于javascript - 将 div 提取为包含 CSS 类的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com