为了账号安全,请及时绑定邮箱和手机立即绑定

如何能不借助容器 将 “node节点字符串” 插入到页面

如何能不借助容器 将 “node节点字符串” 插入到页面

跃然一笑 2018-08-10 17:29:11
现有变量 strvar str = '<img src="xxx.jpg"/>'我希望把str直接插入到body中但我目前只掌握一种方法var domContainer =  document.createElement('div'); domContainer.innerHTML = str;document.body.appendChild(domContainer)这样做生成的img标签外面会有一层div 虽然不影响需求实现 但 我想知道 能否直接就node字符串的结构 直接插入到页面中而不借助容器
查看完整描述

2 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

document.body.innerHTML += str


查看完整回答
反对 回复 2018-08-12
?
慕少森

TA贡献2019条经验 获得超9个赞

反对楼上的答案,直接修改 document.body 怕不是楼主想要的答案;+= 操作需要重新渲染所有节点,性能不好。

你可以生成 DOM 节点后,再把它们从容器里挪出来,比如这样:

const container = document.createElement('div');
container.innerHTML = str;while (container.childNodes.length) {  document.body.appendChild(container.childNodes[0]);
}

不过这样会多次更新 DOM,也要看具体的需求。

(为了编辑这个答案被联盟搞杀了……)


查看完整回答
反对 回复 2018-08-12
  • 2 回答
  • 0 关注
  • 701 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信