DOM启蒙:节点概览

8 篇文章 0 订阅
8 篇文章 0 订阅

1.DOM:由节点对象组成的树

2.节点类型

   节点类型:  

  • DOCUMENT_NODE
  • ELEMENT_NODE
  • ATTRIBUTE_NODE
  • TEXT_NODE
  • DOCUMENT_FRAGMENT_NODE
  • DOCUMENT_TYPE_NODE

    这些节点类型常量在浏览器JavaScript环境中是Node对象的属性。

   节点接口/构造函数

  • HTML*Element
  • HTMLBodyElement
  • Text
  • Attr
  • HTMLDocument
  • DocumentFragment
  • DocumentType

   注意

     ATTRIBUTE_NODE其实不是树的一部分。

3.继承自节点对象的子节点对象

      典型DOM树里每个节点对象从Node继承属性和方法。

  • Object<Node<Element<HTMLElement
  • Object<Node<CharacterData<Text
  • Object<Node<Document<HTMLDocument
  • Object<Node<DocumentFragment

4.与节点打交道的属性与方法

   属性:

  • childNodes:获取节点的子节点的集合
  • firstChild:获取节点的第一个子节点
  • lastChild:获取节点的最后一个子节点
  • nextSibling:获取节点的下一个节点
  • nodeName:节点的名称
  • nodeType:节点的类型
  • nodeValue:节点的值
  • parentNode:获取节点的父节点(可与removeChild共同使用移除节点)
  • previousSibling:获取节点的下一个子节点

   节点方法

  • appendChild():在DOM中插入节点对象
  • cloneNode():传入false,则复制单个结点。传入true,则复制该节点及所有其所有子节点
  • compareDocumentPosition():确定元素节点相对传入节点的的位置(注意节点之间可能有多重关系)
  • contains():包含另一节点返回true
  • hasChildNodes():确定是否有子节点
  • insertBefore():在某个节点之前插入节点
  • isEqualNode():判断两个节点是否相同
  • removeChild():可用来删除子节点,与pareentNode搭配使用可以移除节点
  • replaceChild():替换节点

   文档方法

  • document.createElement():创建元素节点
  • document.createTextNode():创建文本节点

   HTML*Element属性

  • innerHTML:
  • outerHTML
  • textContent
  • innerText
  • outerText
  • firstElementChild:第一个元素子节点
  • lastElementChild:最后一个元素子节点
  • nextElementChild:下一个元素子节点
  • previousElementChild:上一个元素子节点
  • children:所有元素子节点
  • previousElementSibling:上一个临近的元素节点
  • nextElementSibling:下一个临近的元素节点

   HTML元素方法

  • insertAjacentHTML:可将节点插入到开标签之前、开标签之后、闭标签之前和闭标签之后。

3.其他

  • for-in语句

  • 获取元素节点:document.querySelector

  • 创建DocumentFragment:document.createDocumentFragment()

  • 创建注释节点:document.createComment()

  • 用Id获取元素节点:document.getElementById()

  • 用TagName获取元素节点数组:document.getElementsByTagName()

  • 用Class获取元素节点数组:document.getElementsByClass()

  • Node的属性:Node.constructor

  • 节点集合:NodeList或HTMLCollection

  • 判断是否为数组:Array.isArray()

  • 转换类数组列表为JavaScript数组:将类数组类型传给call或apply函数

  • Array的slice函数:复制数组副本,不改变原数组

  • Array的from函数

  • 判断节点是否相等的要求:两个节点类型相同。如下字符串属性相同:nodeName、localName、namespaceURI、prefix及nodeValue。attributes NamedNodeMaps相等。childNodes NodeLists相等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值