1、DOM:Document Object Model(文档对象模型)
网页上的所有内容都是节点,节点分为元素节点、属性节点、文本节点、注释节点、文档节点等
2、快速访问节点的方法有三种:
getElementById("") : 根据id来获取节点
getElementsByName("") : 根据name属性来获取节点集合
getElementsByTagName("") : 根据元素的标签属性来获取节点集合
3、节点的分布
节点的话就像一颗到挂的树,我们称之为Dom树,那么我们访问的话就是访问这些树的每个结构,每个分支,层次访问的话有以下几个方法:
parentNode:返回节点的父节点
childNodes:返回子节点的集合
firstChild:返回节点的第一个子节点,最普遍的方法是访问该元素的文本节点
lastChild:返回节点的最后一个子节点
nextSibling:下一个节点
previousSibling:上一个节点
注意:以上方法访问节点时会访问所有节点,例如:元素节点、属性节点、文本节点、注释节点、文档节点等(即包含空格,注释)。
或者可以使用以下element属性,可以忽略注释节点和文本节点(即不包含空格,注释)。
firstElementChild:返回节点的第一个子节点,最普遍的方法是访问该元素的文本节点
lastElementChild:返回节点的最后一个子节点
nextElementSibling:下一个节点
previousElementSibling:上一个节点
4、节点信息获取(属性)
nodeName: 节点名称
nodeValue: 节点值
nodeType :节点类型值
以下是节点类型对应的节点值:
element(元素、标签):1
attr(属性):2
text (文本) :3
comments(注释):8
document(文档):9
5、节点的操作(新增节点、删除节点、替换节点)
如何设置节点的属性:
getAttribute("属性名"); 获取属性
setAttribute("属性名","属性值") ; 获取并设置属性
新增节点:
createElement("标签名") ; 创建一个新标签节点
a.appendChild(b); 将b节点追加到a节点内的末尾
c.insertBefore(b,a); 在父级c里面将b追加到a前面;
示例1:
结果1:
示例2(insertBefore()方法):
结果2:
示例3(复制节点并进行追加节点):
结果3: