现有变量 strvar str = '<img src="xxx.jpg"/>'我希望把str直接插入到body中但我目前只掌握一种方法var domContainer = document.createElement('div');
domContainer.innerHTML = str;document.body.appendChild(domContainer)这样做生成的img标签外面会有一层div 虽然不影响需求实现 但 我想知道 能否直接就node字符串的结构 直接插入到页面中而不借助容器
2 回答
![?](http://img1.sycdn.imooc.com/5458683f00017bab02200220-100-100.jpg)
慕少森
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,也要看具体的需求。
(为了编辑这个答案被联盟搞杀了……)
添加回答
举报
0/150
提交
取消