MandyJin / MandyJin.github.io

靳莹莹的博客
https://mandyjin.github.io/
1 stars 0 forks source link

DOM映射 #4

Open MandyJin opened 6 years ago

MandyJin commented 6 years ago
var oUl = document.getElementById('ul1');
        var oLis = oUl.getElementsByTagName('li');
        console.log(oLis.length);//->5

        var oLi = document.createElement('li');
        oUl.appendChild(oLi);
        console.log(oLis.length);//6没有重新的获取,但是oLis这个集合中的长度和内容会自动跟着发生改变

页面中的标签和JS中获取到的元素对象(元素集合)是紧紧的绑定在一起的,页面中的HTML结构改变了,JS中不需要重新获取,集合里面的内容也会跟着自动改变。

但是我们我们要注意这样的情况 image 可以说是因为DOM映射吧
我的理解是,因为在追加新的li前,获取的方法已经执行了,我们在打印时,li已经被浏览器渲染在页面上,所以会出现如图所示的情况

MandyJin commented 6 years ago

DOM的映射机制