让前端飞Web前端之路

IE踩坑:innerHtml置空后,之前保存的其内部元素丢失

2019-08-09  本文已影响3人  一木一生

用js原生写日历的时候,为了兼容IE9+,踩了很多坑,其中一个就是innerHtml的问题。

简要描述:

测试代码1:

<div id="demo">
    <div id="test">12345</div>
</div>
var demo = document.getElementById("demo"),
    child = demo.firstElementChild;
console.log(child);  // 置空前
demo.innerHTML = "";
console.log(child);   // 置空后
demo.appendChild(child);
console.log(demo);

测试结果1:


Chrome结果 Firefox结果 IE结果,当前为IE11

测试代码2:

<div id="demo">
    <div id="test">
        <div>
            dsfjdsoi
        </div>
    </div>
</div>

测试结果2:

Chrome结果 Firefox结果 IE结果,当前为IE11

结论:

上一篇下一篇

猜你喜欢

热点阅读