html = `<!doctype html><title>My title</title><head></head><body><p>hello world</p></body></html>`;
html = $.parseHTML(html);
$(html).find('head').append('<link rel="stylesheet" href="//formbuilder.online/assets/css/form-render.min.css/">');
console.log(html);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我不知道为什么这不起作用。我想以编程方式将css或js添加到js中的html中。
之后我想将变量下载为something.html,可能吗?
答案 0 :(得分:1)
你可以在纯粹的javascript中试试这个:
// Get the head element
var head = document.head || document.getElementsByTagName('head')[0];
// Create a new style node
var style = document.createElement('style');
// Set type attribute for the style node
style.type = 'text/css';
// Set the css rules
var css = '#test {color:red}';
// Append the css rules to the style node
style.appendChild(document.createTextNode(css));
// Append the style node to the head of the page
head.appendChild(style);
&#13;
<span id="test">This is a test text</span>
&#13;
更新(附加到正文的链接)
var link = document.createElement('a');
link.setAttribute('href', 'path/to/url');
document.body.appendChild(link);
答案 1 :(得分:0)
我不知道为什么这不起作用。
html
字符串缺少打开<html>
标记。 <title>
元素应该是<head>
元素的子元素。请注意,doctype
声明<!doctype html>
未打开<html>
元素的标记。
包括打开<html>
代码,将<title>
放在<head>
html
字符串中。使用DOMParser()
创建document
;致电.find()
链接到$(doc.documentElement)
,选择head
doc
document
html
解析DOMParser
字符串变量<a>
。
然后,您可以使用href
元素,doc.documentElement.outerHTML
设置为download
,something.html
属性设置为text/html
,将文件另存为<link>
在.click()
元素上调用<a>
包含something.html
。
注意,如果您在file:
协议下加载http:
,除非您在{{1}指定https:
或href
协议,否则不会将链接的样式表加载到文档中} <link>
元素,例如http://formbuilder.online/assets/css/form-render.min.css
var html = `<!doctype html><html><head><title>My title</title></head><body><p>hello world</p></body></html>`;
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var doctype = new XMLSerializer().serializeToString(doc.doctype);
$(doc.documentElement).find('head').append('<link rel="stylesheet" href="http://formbuilder.online/assets/css/form-render.min.css"></style>');
console.log(doctype + doc.documentElement.outerHTML);
$("<a>", {
href: "data:text/html," + doctype
+ doc.documentElement.outerHTML,
download: "something.html"
})
.appendTo("body")[0].click()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body></body>
答案 2 :(得分:0)
你可以试试这个,
var list = document.getElementsByTagName("head")[0];
document.getElementsByTagName("head")[0].innerHTML =list+
"<link rel='stylesheet' href='//formbuilder.online/assets/css/form-render.min.css'</style>";
答案 3 :(得分:-1)
试试这个:
var inst = Activator.CreateInstance(finalType);