我正在使用 docx.js,它可以在浏览器中将 docx 转换为 html5。函数
convertContent
输出 NodeList
。问题是我需要一个 HTML/XML 字符串,而不是 NodeList
。
有什么方法可以将
NodeList
转换回 HTML 吗?有很多其他方式或将其转换为数组的示例,但没有关于如何将其转换回 HTML 的示例。
我对你的问题有点不清楚(特别是
I need HTML5
)
如果您想要字符串表示形式,这将为列表中的每个节点创建一个 html 字符串
var html = Array.prototype.reduce.call(nodes, function(html, node) {
return html + ( node.outerHTML || node.nodeValue );
}, "");
更新:修复显示为未定义的文本节点
尝试将其放入此网站的控制台中
var htmlstr = Array.prototype.reduce.call($("div")[43].childNodes, function(html, node) {
return html + ( node.outerHTML || node.nodeValue );
}, "");
console.log(htmlstr);
有多种方法可用于
NodeList
,其中之一是values()
。
let list = document.body.childNodes; //<-- returns NodeList
for (const value of list.values()) {
myDocument.querySelector("#my-target-element").append(value);
}