我猜DOM是通过解析’outerHTML’字符串并使用它来替换原始对象来创建一个新对象.如果是这种情况,是否有一种方法来检索新创建的对象?
重现的步骤(在Linux Chrome和Linux Firefox上测试)
>在浏览器中打开一个干净的窗口,
>打开开发控制台(可能是F12)
>查看页面DOM(Chrome中的元素选项卡,Firefox中的Inspector)
>删除“身体”的任何孩子,只是为了让事情更清洁
>打开控制台并键入:
obj1 = document.createElement(‘div’)
obj1.id =’1′
document.body.appendChild(OBJ1);
obj1.parentNode – 应该将“body”HTML写入控制台.
obj1.outerHTML =“< div id ='2'>< / div>”
obj1.parentNode – 现在将’null’写入控制台.
Also, while the element will be replaced in the document, the variable
whose outerHTML property was set will still hold a reference to the
original element:
这意味着你的代码中的obj1仍然指的是现在已经从DOM树中分离出来的原始元素.