有惊无险,又到饭点,昨天的崩溃,今天的泪,要加强复习了。汇报一下今天的学习情况

154 阅读2分钟

一、节点的介绍

   1.节点 : 网页一切内容皆为节点
        * 节点作用 : 为了渲染引擎可以更好的渲染dom树

    2.网页有四大节点 :  元素节点 、 文本节点 、 属性节点 、 注释节点
        * 最重要的是 元素节点
        

二、查找节点

      2.获取兄弟节点 :
       2.1 获取上一个元素 : 元素.previousElementSibling
            2.2 获取下一个元素 : 元素.nextElementSibling
     3.获取父元素 : 元素.parentNode
            * 父节点一定是元素,因为只有元素节点才会有儿子

三、新增节点

    1.介绍dom中新增元素有三种语法
      1.1 document.write( '字符串' )   : 几乎不用.(可能会覆盖原来的内容)
      1.2 元素.innerHTML  :  少用(使用的时候会有性能问题,低于100个元素就可以使用)
            覆盖操作:   元素.innerHTML = '字符串'
            新增操作:   元素.innerHTML += '字符串'
      1.3 元素.createElement() : dom推荐

    2. 重点掌握 createElement三个流程
      (1)在内存中 创建 空标签:  let newLi = document.createElement('标签名')
      (2)设置标签内容
      (3)添加到dom树  :  父元素.appendChild(子元素)

    3. 元素添加到最后面 与 最前面
      添加到最后面:   父元素.appendChild(子元素)
      添加到元素前面: 父元素.insertBefore(子元素, 哪个元素前面 )

四、克隆节点

克隆节点 : 复制节点 
     元素.cloneNode(true)
    默认false : 浅克隆。 只克隆自己,不可隆自己后代
true : 深克隆。 克隆自己+克隆后代

五、删除节点

            查子元素:  元素.children
            查兄弟元素:  
                上一个元素: 元素.previousElementSibling
                下一个元素: 元素.nextElementSibling
            查父元素 : 元素.parentNode
        2.增 : document.createElement()
            (1)内存创建空节点:   document.createElement('标签名')
            (2)设置标签内容
            (3)添加到页面dom
                新增到最后面   :  父元素.appendChild(元素)
                新增到元素前面 :  父元素.insertBefore(要加的元素,哪一个元素前面)
        3.删 : 父元素.removeChild(子元素)

六、定时器

      2.定时器语法 :
        2.1 永久定时器 : 一旦开启, 间隔时间永久执行。只能手动清除
          开启:   let timeID = setInterval( function(){} , 间隔时间 )
          关闭:   clearInterval(timeID)
       2.2 一次定时器 : 间隔时间内,只会执行一次。执行完毕后自动清除。
          开启:   let timeID = setTimeout( function(){}, 间隔时间 )
          关闭 :  clearTimeout(timeID)
           * @description: 开启定时器
      * @param {function}   一段代码
        *回调函数 :  如果一个函数的参数也是函数,那么这个参数函数 叫做回调函数 
      * @param {number}  间隔时间  单位 毫秒   1s = 1000ms
      * @return: 一个页面可以开启很多个定时器,浏览器为了便于管理这些定时器。会给每一个定时器一个编号,称之为定时器ID
      开启定时器
        let timeID = setInterval(function(){
        pp.innerText++
      },1000)
      关闭定时器
      document.querySelector('.btn').onclick = function(){
        /**
        * @description: 清除定时器
        * @param {number}  定时器id
        * @return: 无
        */
        clearInterval(timeID)
      }
      一次性定时器
      let timeID = setTimeout(function(){
        pp.innerText++
      },5000)