鉴于我有以下内容:
var el, main;
main = _.findWhere(this.widget.snippets, {
name: "main"
});
el = document.createElement("script");
el.setAttribute("data-require", value.name + "@*");
el.setAttribute("data-semver", a.semver);
el.setAttribute("src", a.scripts);
console.log(el + main.body);
/*
[object HTMLScriptElement]
<div bb-breadcrumb></div>
<div bb-content></div>
*/
我正在尝试将新创建的脚本附加到我的身体上。但它继续返回[object HTMLScriptElement]
是不是有一种方法可以将其转换为字符串,然后允许我进行连接。
进一步更新:
var main
的值是一个如下所示的对象:
$$hashKey: "018"
body: "<div breadcrumb></div>↵<div content></div>↵"
file_extension: "html"
file_name: "main"
isEdited: false
name: "main"
所以有了这个。您将看到我创建了一个<script></script>
元素,其输出为:
<script data-require="jquery@*" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
现在,在我最初提供的代码示例的末尾,我想连接该标记并将其附加到main.body
,因此最终输出将如下所示:
<script data-require="jquery@*" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div breadcrumb></div>
<divcontent></div>
答案 0 :(得分:2)
如果main.body
是一个字符串,则无法将对象连接到它。但是,您可以使用新创建的元素的.outerHTML
属性,即HTML表示形式:
el = document.createElement("script");
el.setAttribute("data-require", value.name + "@*");
el.setAttribute("data-semver", a.semver);
el.setAttribute("src", a.scripts);
main.body = el.outerHTML + main.body;
console.log(main.body)
输出:
<script data-require="jquery@*" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><div bb-breadcrumb></div>↵<div bb-content></div>↵