0

给定这样的字符串:

<img src="image.png" /><p>some text</p>

如何在不使用 jQuery 的情况下将其附加到 dom 节点?

我可以创建类似的东西:

  var string = '<img src="image.png" /><p>some text</p>';
  var div = document.createElement('div');
  div.innerHTML = string;

然后使用 将其附加到节点appendChild,但是如何只添加原始字符串而不添加包装div

像 jquery 的parseHTML之类的东西,我需要一些可以解析字符串并将其作为 html 节点返回的东西。

4

1 回答 1

6

您可以insertAdjacentHTML()用于此任务。

编辑

如果您需要将字符串解析为元素,您可以执行以下操作:

function parseElements(str) {
    var temp = document.createElement('div'),
        nodes, n,
        elements = [];
    temp.innerHTML = str;
    nodes = temp.childNodes;
    for (n = 0; n < nodes.length; n++) {
        elements.push(nodes[n]);
    }
    return elements;
}
于 2013-03-29T17:35:49.613 回答