12.6dom

作者: overisover | 来源:发表于2016-12-06 19:22 被阅读0次

什么是DOM

DOM: Document Object Model 文档对象模型
文档: html页面
文档对象: html页面中的元素
文档对象模型: DOM是JavaScript操作网页的接口。从本质上说,它将web 页面和脚本或编程语言连接起来了。

节点

DOM的最小组成单位叫做节点(node)。
Document:整个文档树的顶层节点
Element:网页的各种HTML标签(比如<body>、<a>等)
Text:标签之间或标签包含的文本
Attribute:网页元素的属性(比如class="right")
DocumentType:doctype标签(比如<!DOCTYPE html>)
Comment:注释
DocumentFragment:文档的片段

节点间的关系

父节点关系(parentNode):直接的上级节点

offsetParent:离当前元素最近的一个有定位属性(position: relative| absolute | fixed)的父节点,

如果没有定位父级,默认是body

子节点关系(childNodes):直接的下级节点

firstChild:第一个子节点, firstElementChild;第一个子元素节点,
lastChild:最后一个子节点, lastElementChild;最后一个子元素节点,

同级节点关系(sibling):拥有同一个父节点的节点;

nextSibling:下一个兄弟节点;包含文本
nextElementSibling:下一个兄弟元素节点,不包含文本
previousSibling:上一个兄弟节点;包含文本
previousElementSibling:上一个兄弟节点;不包含文本

children属性:当前元素的子元素节点

创建和插入元素

Document.createElement()
在一个HTML文档中, Document.createElement()方法用于创建指定的HTML元素
当指定未定义的元素时, 创建一个HTMLUnknownElement

var div=document.createElement('div');//创建一个div元素
document.body.appendChild(div);//插入body放在最后一个,成为最后一个子节点
//用appendChild()操作已经有的元素,如果将已有元素移动,原位置的会清除掉

插入元素

Node.insertBefore((newElement, referenceElement)// node:父元素
在当前节点的某个子节点之前再插入一个子节点

删除

element.remove();IE不支持;删除element元素
removeChild();删除子元素
ul.removeChild(li);只是移出HTML,依然存在内存中,有返回值,可以重新加入

相关文章

  • 12.6dom

    什么是DOM DOM: Document Object Model 文档对象模型文档: html页面文档对象: h...

网友评论

      本文标题:12.6dom

      本文链接:https://www.haomeiwen.com/subject/zbolmttx.html