javascript - 将 HTML 字符串转换为 DOM 元素?

标签 javascript html dom

有没有办法像这样转换 HTML:

<div>
<a href="#"></a>
<span></span>
</div>

或任何其他 HTML 字符串到 DOM 元素中? (这样我就可以使用 appendChild())。我知道我可以使用 .innerHTML 和 .innerText,但这不是我想要的——我确实希望能够将动态 HTML 字符串转换为 DOM 元素,以便可以在 .appendChild() 中传递它。

更新:似乎有些困惑。我有一个字符串中的 HTML 内容,作为 JavaScript 中变量的值。文档中没有 HTML 内容。

最佳答案

您可以使用 DOMParser,如下所示:

var xmlString = "<div id='foo'><a href='#'>Link</a><span></span></div>";
var doc = new DOMParser().parseFromString(xmlString, "text/xml");
console.log(doc.firstChild.innerHTML); // => <a href="#">Link...
console.log(doc.firstChild.firstChild.innerHTML); // => Link

关于javascript - 将 HTML 字符串转换为 DOM 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3103962/

相关文章:

php - DOM 返回空对象

javascript - 从输入中获取用户输入的值

javascript - 当 jquery.validate 验证表单时启用提交按钮

html - 粘贴似乎在 html 代码中被禁用(但实际上并没有禁用它)

javascript - 使文本在 jQuery Sortable parent 的 textarea 中可选择

java - 如何使用 java.util.zip 制作 epub

javascript - 为什么 DOM 元素仅在事件监听器完成后才更新? (纯js)

javascript - 为什么使用 setter 之类的方法,而不是直接在 Javascript 中更改属性?

javascript - 从 Cesium 到 Three.js 的 3D Tiles 端口

javascript - 如何将元素水平居中并相对于它定位其他元素?