javascript - 将字符串解析为 DOM

标签 javascript dom domparser

我有以下字符串:

var str = ‘<script type="text/javascript" src="js/test.js"></script><link rel="stylesheet" type="text/css" href="css/style.css" />’

如何将其转换为 DOM。 我尝试过使用 DOMParser 类似的东西。

var parser = new DOMParser()
var el = parser.parseFromString(str, "text/xml");
console.log(el)

但是,出现错误。这是输出。

#document
<script type="text/javascript" src="file.js">
     <parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black">
        <h3>This page contains the following errors:</h3>
        <div style="font-family:monospace;font-size:12px">error on line 1 at column 27: Extra content at the end of the document
        </div>
        <h3>Below is a rendering of the page up to the first error.</h3>
    </parsererror>
</script> 

正如输出所示,CSS 也没有被解析。

最佳答案

看来 DOMParser 只能解析单个元素。

所以这有效:

new DOMParser().parseFromString("<div/>", "text/xml")

但这不是:

new DOMParser().parseFromString("<div/><div/>", "text/xml")

所以你可以通过在整个事情周围放置一个标签来修复你的示例。

关于javascript - 将字符串解析为 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27354993/

相关文章:

javascript - 处理来自 XMLHttpRequest 的图像(使用 HTML 和 Javascript)

java - DOM 解析器读取 Xml、检索属性值并存储它们

javascript - 使用(实验性)代码片段功能从 Google Chrome 控制台命令行运行代码片段?

javascript - D3.js:时间尺度上均匀分布的条形

javascript - 在 XUL 中使用 DOM JavaScript 动态创建复选框

javascript - 禁用默认功能jquery

javascript - 如何使用 Ramda remove 从对象数组中删除空对象?

javascript - JavaScript 中的可点击板(网格)

java - 如何使用 DOM 解析器获取标签值

javascript - AngularJS:将 XML 字符串加载到 XML 文档