将字符串解析为 DOM

parse string to DOM

本文关键字:DOM 字符串      更新时间:2023-09-26

我有以下字符串:

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")

因此,您可以通过在整个事情周围放置一个标签来修复您的示例。

你的单引号是错误的?请仔细检查。

我认为您可以使用jQuery或Mootools轻松传输:

var s = '<script type="text/javascript" src="js/test.js"></script><link rel="stylesheet" type="text/css" href="css/style.css" />';
var v = $(s);