• DOM


    1、DOM:Document  Object  Model

    2、DOM定义了表示和修改文档所需的方法。DOM对象即为宿主对象,由浏览器厂商定义,用来操作HTML和XML功能的一类对象的集合。也有人称DOM是对html以及XML标准编程的接口

    3、查看元素节点、

      (1)document代表整个文档

      (2)document.getElementById( 'only' )       标签

      (3)document.getElementsByTagName( 'div' )  类数组  实时更新的

      (4)document.getElementsByClassName( 'demo' )  类数组  实时更新的  ie8和ie8以下版本中没有此方法,可以多个class一起

      (5)document.querySelector( )  标签  不是实时的

      (6)document.querySelectorAll( )  类数组  不是实时的

    4、遍历节点树

      (1)parentNode:父节点(最顶端的parentNode为#document)

      (2)childNodes : 子节点们

      (3)firstChild : 第一个子节点

      (4)lastChild :最后一个子节点

      (5)nextSibling : 相邻的后一个兄弟节点

      (6)previousSibling : 相邻的前一个兄弟节点

    5、基于元素节点树的遍历

      (1)parentElement:返回点前元素的父元素节点(IE不兼容)

      (2)children:只返回当前元素的元素子节点

      (3)node.childElementCount === node.children.length : 返回当前元素节点的子元素节点个数

      (4)firstElementChild : 返回的是第一个元素节点(IE不兼容)

      (5)lastElementChild : 返回的是最后一个元素节点(IE不兼容)

      (6)nextElementSibling:返回上一个兄弟元素节点

      (7)previousElementSibling:返回下一个兄弟元素节点

    6、节点的四个属性

      (1)nodeName:元素的标签名,以大写形式表示,只读

      (2)nodeValue:表示Text节点或Comment节点的文本内容,可读写

      (3)nodeType:表示该节点的类型,只读

      (4)attributes:表示该元素节点的属性集合

      节点的一个方法:Node.hasChildNodes( )  返回true或false

    7、节点的类型

      (1)元素节点:1

      (2)属性节点:2

      (3)文本节点:3

      (4)注释节点:8

      (5)document:9

      (6)DocumentFragment:11

    8、创建节点

      (1)创建元素节点

        document.createElement('div')

      (2)创建文本节点

        document.createTextNode('商品标题')

      (3)创建注释节点

        document.createComment('this  is  comment')

    9、插入节点

      (1)appendChild

        向标签末端插入节点

        var  div  =  document.getElementByTagName('div')[0];

        var  text  =  document.createTextNode('hello  world');

        var  span  =  document.createElement('span');

        div.appendChild(text)

        div.appendChild(span)

        结果:

        <div>

          hello  world

          <span></span>

        </div>

      (2)insertBefore

        div.insertBefore(a, b)

        向div标签中的b标签前插入a节点

    10、删除节点

      (1)removeChild( )

        div.removeChild( i )  // 删除div元素中的i节点,并返回i节点

      (2)remove( )

        div.remove( )  // 删除div元素,没有返回值

    11、替换节点

      replaceChild

        div.replaceChild(new,  origin)  // 用new元素替换div元素中的origin元素,并返回origin元素

    12、节点的属性

      (1)innerHTML

          div.innerHTML  =  123

      (2)innerText(火狐不兼容)、textContent(老版本IE不兼容)

        div.innerText  等同于  div.textContent

      (3)className

        div.className  // 获取class名

        div.className  =  'demo'  // 设置class名

    13、节点的方法

      (1)setAttribute

        设置元素节点的属性

        div.setAttribute('class', 'demo')

      (2)getAttribute

        获取元素节点的属性

        div.getAttribute('class')

        

  • 相关阅读:
    微信小程序Rx 引入 调用合并的方法
    小程序 引入 es-canvas wx:for 单页面渲染多个for不同数据
    jquery操作数组对象
    Docker MySQL 8 主从配置
    CentOS 7 安装 LNMP
    lnmp1.6 配置负载均衡
    Nginx + PHP-FPM 参数优化、性能监视和问题排查
    「查缺补漏」巩固你的Nginx知识体系
    Android生成SHA1(证书指纹)
    android studio 如何把依赖导出成 jar
  • 原文地址:https://www.cnblogs.com/cuishuangshuang/p/13283452.html
Copyright © 2020-2023  润新知