除了五大基本数据类型,万事万物皆对象。
节点:(常用节点)
1.元素节点
2.属性节点
3.文本节点
8.注释节点
9.document节点
节点三剑客:用来查阅节点
node:节点
获取节点 信息(设置节点信息)
1.nodeName:返回的是节点名(#text,注释,标签)
2.nodeType:节点的种类,返回的是数字。
3.nodeVlaue:获取的节点里的值。一把用来获取input里的value,适用元素节点。
4.childNodes:获取当前元素的所有子节点。
属性节点的获取
1.attributes属性 (伪数组)
2.对象.attributes .value = 10;可以更改内容。
创建节点
1.文本节点:document.createTextNode;
2.元素节点:document.createElement(“div”)
插入节点
1.insertBefore(newNode, existNode) 把new node插入到existNode之前
2.appendChild()==讲一个节点插入到另一个节点上。
offset家族---需要position
1.offsetWidth :获取的是盒模型的宽。
2.offsetHeight :获取的是盒模型的高。
3.offsetLeft : 逐级寻找定位元素,如果有,返回定位元素和当前元素的偏移,如果没有,name返回根据body的偏移。
4.offsetTop : 这个属性返回元素的高度偏移量。
5.offsetParent :这个属性的返回值是它根据谁定位的,如果它的所有父元素都没有定位,name返回body。
在元素和body之间存在,定位元素干扰最终结果
当前元素 之间所有定位元素的偏移量之和就是最终的元素偏移量。
当前元素根据谁定位的
如果根据body定位,直接返回offsetLeft结果就可以了。
如果不根据body定位,让offsetParent重复上述过程,直到得到的每个定位的结果,最后让结果相加就行了。
克隆 cloneNode()
括号内如果加true表示连内容一起克隆,如果不加,就只克隆外层。
关系节点
1.children:子元素
2.childNodes:获取当前元素节点的所有子节点;
3.firstChild:获取当前元素节点的第一个子节点;
4.lastChild:获取当前元素节点的后一个子节点。
5.parentNode:获取当前节点的父节点。
6.previousSibling:获取当前节点的前一个同级节点。
7.nextSibling:获取当前节点的后一个同级节点。