Javascript:字符串到 HTML

标签 javascript dom

给定一个这样的字符串:

<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 节点返回。

最佳答案

您可以使用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;
}

关于Javascript:字符串到 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15708353/

相关文章:

javascript - 单线程Node.js如何同时处理请求?

javascript - Rails 3 - 嵌套模型的 JSON 未按预期返回

javascript - Bootstrap 日期选择器在 IE8 中没有响应

javascript - Ajax 成功内的 Html Helper 中无法访问结果变量

php - 在 php 中抓取安全页面 https

javascript - 动态给dom赋值

javascript - 为什么替换 iframe 中的 <body> 标记会导致添加额外的 <head> 标记?

javascript - jquery 中的 on() 函数不起作用

html - Visual Studio Code : how to automatically change the matching closing tag

javascript - 通过 PHP 将 mySQL 数据拉入 Javascript 对象数组