1.什么是DOM
DOM(文档对象模型),是针对HTML和XML文档的一个API。描述了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。
2.Node
2.1节点类型
只写几个此博文提到的:
节点类型 | nodeType | nodeName | nodeValue |
---|---|---|---|
ELEMENT_NODE | 1 | 元素标签名 | null |
ATTRIBUTE_NODE | 2 | 属性名 | 属性值 |
TEXT-NODE | 3 | text | 节点包含的文本内容 |
DOCUMENT-NODE | 9 | document | null |
2.2节点关系
1.每个节点都有childNodes属性,保存NodeList对象
2.父亲和孩子之间:firstChild、lastChild、parentNode
3.同级之间:nextSibling,previousSibling
2.3操作节点
appendChild(),insertBefore(),replaceChild(),removeChild()
1.appendChild()–用于向childNodes列表末尾添加一个节点
参数:要插入的节点
someNode.appendChild(newNode);
Dom树可以看成一系列指针连接起来的,但DOM任何节点都不能同时出现在文档的多个位置。
如下:传入了父节点的第一个子节点,此时变成父节点的最后一个节点。
var node = someNode.appendChild(someNode.firstChild);
alert(node == someNode.firstChild);//false
alert(node == someNode.lastChild);//true
2.insertBefore()
参数:要插入的节点和作为参照的节点
//插入后成为最后一个节点
someNode.insertBefore(newNode,null);
//插入后成第一个节点
someNode.insertBefore(newNode,someNode.firstChild);
//插入到最后一个子节点前面
someNode.insertBefore(newNode,so