美文网首页
DOM-->DOM的概念及子节点类型

DOM-->DOM的概念及子节点类型

作者: 卓小生 | 来源:发表于2016-10-06 16:15 被阅读0次

javascript的组成

javascript是由三部分组成:

  • ECMAscript
    定义了基本的语法,比如说数据类型, 函数, 流程控制等
  • BOM
    定义了操作浏览器的接口
  • DOM
    定义了操作html结构的接口,比如说获取html元素, 增加删除html元素,
    操作html元素属性,修改样式等

DOM的概念及子节点类型

基本概念

什么是DOM

DOM: Document Object Model 文档对象模型

文档: html页面

文档对象: html页面中的元素

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

document.getElementById
document.getElementsByTagName

都是DOM提供的获取网页元素的方法

节点

DOM的最小组成单位叫做节点(node)。文档的树形结构(DOM树),就是由各种不同类型的节点组成。每个节点可以看作是文档树的一片叶子。

节点的类型有七种。

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

这七种节点都属于浏览器原生提供的节点对象的派生对象,具有一些共同的属性和方法。

节点树

一个文档的所有节点,按照所在的层级,可以抽象成一种树状结构。这种树状结构就是DOM。

最顶层的节点就是document节点,它代表了整个文档。文档里面最高一层的HTML标签,一般是<html>,它构成树结构的根节点(root node),其他HTML标签节点都是它的下级。

除了根节点以外,其他节点对于周围的节点都存在三种关系。

  • 父节点关系(parentNode):直接的那个上级节点
  • 子节点关系(childNodes):直接的下级节点
  • 同级节点关系(sibling):拥有同一个父节点的节点

DOM提供操作接口,用来获取三种关系的节点。其中,子节点接口包括firstChild(第一个子节点)和lastChild(最后一个子节点)等属性,同级节点接口包括nextSibling(紧邻在后的那个同级节点)和previousSibling(紧邻在前的那个同级节点)属性。

特征相关的属性

所有节点对象都是浏览器内置的Node对象的实例,继承了Node属性和方法。这是所有节点的共同特征。

以下属性与节点对象本身的特征相关。

Node.nodeName,Node.nodeType

nodeName属性返回节点的名称,nodeType属性返回节点类型的常数值。具体的返回值,可查阅下方的表格。

类型 nodeName nodeType
ELEMENT_NODE 大写的HTML元素名 1
ATTRIBUTE_NODE 等同于Attr.name 2
TEXT_NODE #text 3
COMMENT_NODE #comment 8
DOCUMENT_NODE #document 9
DOCUMENT_FRAGMENT_NODE #document-fragment 11
DOCUMENT_TYPE_NODE 等同于DocumentType.name 10

以document节点为例,它的nodeName属性等于#document,nodeType属性等于9。

document.nodeName // "#document"
document.nodeType // 9

如果是一个<p>节点,它的nodeName是P,nodeType是1。文本节点的nodeName是#text,nodeType是3。

通常来说,使用nodeType属性确定一个节点的类型,比较方便

document.getElementsByTagName('a').nodeType === 1
// true

document.getElementsByTagName('a').nodeType === Node.ELEMENT_NODE
// true

相关文章

  • DOM-->DOM的概念及子节点类型

    javascript的组成 javascript是由三部分组成: ECMAscript定义了基本的语法,比如说数据...

  • >>>>> DOM概念及子节点类型

    javascript的组成 javascript是由三部分组成: ECMAscript定义了基本的语法,比如说数据...

  • DOM-->父节点

    父节点 parentNode parentNode属性返回当前节点的父节点 它的父节点只可能是三种类型: elem...

  • DOM-->子节点和兄弟节点的操作

    子节点和兄弟节点的操作 childNodes 属性 只读属性,子节点列表集合 其他浏览器(标准下):包含了文本和元...

  • DOM节点

    dom节点是dom中最基本的组成单元。 层级方式划分 : 父节点 、 子节点 、 兄弟节点 类型方式划分 :1 元...

  • js操作DOM

    创建dom 删除一个dom 文档碎片增快速度 dom节点 父节点 子节点 offsetParent 继续子节点 兄...

  • DOM操作HTML,XML移动元素

    1,DOM-->Documnet Object Model 2.DOM 定义了表示和修改文档所需的方法.DOM对象...

  • DOM和BOM一些基础用法

    DOM DOM常用节点类型 元素节点 - 1;属性节点 - 2;文本节点 - 3;注释节点 - 8;文档节点 - ...

  • DOM节点的深入认识

    DOM节点 在文档对象模型(DOM)当中,每个节点都是对象 要认识DOM节点的三个重要属性1 节点类型-nodeT...

  • Dom操作

    操作节点 获取节点 获取子节点 更新DOM innerHTMLinnerTEXT 插入DOM appendChil...

网友评论

      本文标题:DOM-->DOM的概念及子节点类型

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