【发布时间】:2014-03-14 14:28:10
【问题描述】:
我正在使用docx.js,它在浏览器中将 docx 转换为 html5。函数convertContent 输出NodeList。问题是我需要一个 HTML/XML 字符串,而不是 NodeList。
有没有办法将NodeList 转换回 HTML?有很多其他方式或将其转换为数组的示例,但没有关于如何将其转换回 HTML 的示例。
【问题讨论】:
标签: javascript html docx
我正在使用docx.js,它在浏览器中将 docx 转换为 html5。函数convertContent 输出NodeList。问题是我需要一个 HTML/XML 字符串,而不是 NodeList。
有没有办法将NodeList 转换回 HTML?有很多其他方式或将其转换为数组的示例,但没有关于如何将其转换回 HTML 的示例。
【问题讨论】:
标签: javascript html docx
我对你的问题有点不清楚(特别是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);
【讨论】:
.call 来迭代节点列表,就好像它是一个数组一样。您可以使用 for() 循环编写相同的内容,但不会那么优雅