zoukankan      html  css  js  c++  java
  • 节点

    1.DOM   document object  model

      节点树状图

      document>documentElement>body>Tagname

    2.常用的节点类型

      元素节点(标签)

      文本节点(文本)

      属性节点(标签里的属性)

           

    3.document有个属性叫node type返回的数字

    1.代表元素节点 2.代表属性节点   3.代表文本节点

    4.节点的获取

      元素节点获取有很多方法

        Document.getElementById()

        Document.getElementsByClassName()

        Document.getElementsByTagName()

        Document.querySelector()

        Document.querySelectorAll()

      属性节点的获取:

       元素.attributes 获取元素身上所有属性构成的集合(数组)

       得到里面的值 元素.attributes[1].value

       元素.getAttribute(“属性名”) 获取属性值的方法

       元素.setAttribute(“属性名”,”属性值”)  给元素设置属性和属性值

             文本节点

            没有获取的方法,没有意思

    5.获取元素的子节点

       元素.childNodes  这个属性有兼容性 标准浏览器会获取到文本节点

      而低版本浏览器不会。所以建议使用children这个属性。

       标准下 元素.firstElementChild

       非标准下 元素.firstChild

       兼容下写法

             var list=document.getElementById("list")

             var fist=list.firstElementChild||list.firstChild

               console.log(fist)

         获取最后一个子节点

         元素.lastElementChild     元素.lastchild

         获取上一个节点

        元素.previousSibling

        元素.previousElementSibling

         获取下一个节点

      元素.nextSibling

      元素.nextElementSibling

    6.获取父节点

    元素.parentNode  没有兼容性

    --------------------------------------------------------------------------------------

    DOM2动态的创建节点

    1.生成节点的方法  document.createElement("div")

    2.插入节点的方法   父元素.appendChild(新节点)

      在父节点中的子节点后面插入新的节点

    3.在指定的位置插入新的节点

      父元素.insertBefore(新节点,谁的前面)将新节点插入指定的元素前面

    4.删除元素节点   父元素.removeChild()

    超链接a的属性href分析

      <a href="">          点击会刷新页面,相当于向后台发送一次请求

      <a href="#s">         锚点跳转 跳转到某一个id叫s的位置上

      <a href="javascript:;">    取消刷新页面的功能

    拓展:

      字符串拼接和Dom创建都是渲染的方式

      字符串拼接

         优点:简单、层次感强、可以处理大量数据

         缺点:字符串拼接会影响到原有子元素的事件

      Dom创建

        优点:是一个独立的个体

        缺点:处理数据量过大会比较麻烦,会造成Dom回流

      Dom回流

      页面渲染时,我们会对html结构简单是增删查改时,浏览器会对所有的Dom进行重新排列,

    这就是Dom回流,严重影响浏览器的性能。

  • 相关阅读:
    EMQ X v4.3 正式发布:性能大幅提升,更好用的多语言扩展
    全新 EMQ X Cloud 物联网云平台重磅发布
    MQTT 和 CoAP 在 EMQ X 世界的一次「约会」
    Python MQTT 异步框架 —— HBMQTT
    EMQ X 团队:连接数亿关键 IoT 设备|EMQ 2021 全球招聘季
    让每一个来自社区的声音被听见、有回响:EMQ X 开源项目正式采用 RFC 流程
    Kuiper 1.1.2 正式发布
    Xamarin.Forms iOS打包上传AppStore,奇妙的崩溃 EXC_CRASH (SIGABRT)
    大数据系列修炼-Scala课程01
    文本摘要简述
  • 原文地址:https://www.cnblogs.com/qinmengyang/p/js16.html
Copyright © 2011-2022 走看看