关于DOM节点

关于DOM节点
by 2018-07-02 17:23:11

DOM 节点

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点
  • 每个 HTML 元素是元素节点
  • HTML 元素内的文本是文本节点
  • 每个 HTML 属性是属性节点
  • 注释是注释节点

通过 HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。(应该是除了注释节点外,也没有访问注释节点的意义)

创建

1
2
3
createDocumentFragment() //创建一个DOM片段
createElement() //创建一个元素节点
createTextNode() //创建一个文本节点

例如:

1
2
3
var element = document.createElement("div");
var textNode = document.createTextNode("Hello world!");
element.appendChild(textNode);

添加、删除、替换、插入

1
2
3
4
appendChild() //插入新的子节点(元素)
removeChild() //删除子节点(元素)
replaceChild() //替换
insertBefore() //插入

查找

1
2
3
getElementsByTagName() //返回带有指定标签名的所有元素。
getElementsByName() //返回相同类名的所有 HTML 元素
getElementById() //方法返回带有指定 ID 的元素,唯一性

混合使用(不像jquery有.和#的概念)
返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id=”main” 的元素的后代(子、孙等等):
document.getElementById("main").getElementsByTagName("p");
效果等同于$('#main p')


日常啰嗦:感觉总结的不够完美,日后再来填坑。
2019.05.29来填过一次坑