DOM
在JS中就是文档对象模型。文档?哪个?就是html文档,对象模型?什么鬼?如图:
每个文档可以变成如此树状对象模型,为了什么?因为JS可以操作对象,这个模型里的各个节点啊。树里含着等级,个数,平级,子集之类的信息,让我感觉很直观。重点讲操作的模板了,操作的对象都是各个节点。
document
这个对象就是指整个页面的。
document.location === location
document.location === window.location
页面跳转
window.location.href =document.location = "http://liuwanyong.com"
documewnt.location.assign('http://liuwanyong.com') //这两个不会打开一个新页面的。
新窗口打开:
window.open('http://liuwanyong.com')
等同于:
<a href="http://liuwanyong.com" target="_blank">刘万永主页</a>
document.location.reload(true) //优先服务器加载刷新
document.location.reload(false) //优先本地缓存加载
这里不知道为什么,请回看DOM元素的选取和创建
element
这个算是总纲了。
现在以及以后的模板,都要源于此。
模板
HTMLCollection()是类数组对象,没有forEach,只能通过下标,for循环遍历。
NodeList也是类数组对象,不过有forEach可以遍历。
用querySelectorAll得到的是NodeList。
这里用querySelector得到的是HTML节点性质的对象,如图:
创建节点
fragment的好处就是减少能耗,因为是虚拟的标签,实际树里没有标签。如图:
克隆是生成新的,而不是赋值,赋值跟覆盖差不多的。还有上次的无限轮播用到了克隆的。