zoukankan      html  css  js  c++  java
  • DOM 节点操作

    1.  作为HTML的元素内容

      innerHTML:

    读取Element的innerHTML属性作为字符串标记返回那个元素的内容,在元素上设置该属性调用了Web浏览器的解析器,用新字符串内容的解析展现形式替换元素当前内容。通常设置innerHTML效率非常高,甚至在指定 的值需要解析时效率也相当不错,但注意,对innerHTML属性用‘+=’操作符重复追加一小段文本通常效率低下,因为它既要序列化又要解析

      outerHTML:

    当查询outerHTML时,返回的HTML或XML标记的字符串包含被查询元素的开头和结尾标签,当设置元素的outHTML时,元素本身被新的内容所替换。只有Element节点定义了outHTML属性。Document节点则无。

      PS:低版本的FF不支持outerHTML,扩展方法如下:

    扩展outerHTML

    insertAdjacentHTML(sWhere,position):

    将任意的HTML标记字符串插入到指定的元素“相邻”的位置, sWhere的值是“beforeBegin”,“afterBegin”,”beforeEnd”,”afterEnd”,position是被插入的HTML字符串

      注:低版本的FF不支持此方法,扩展方法如下:

    扩展insertAdjacentHTML

    2.作为纯文本的元素内容

      textContent || innerText

      textContent 是标准方法,除了IE8及以下的浏览器都支持,innerText 是IE4引入的,它除了早期的ff外都支持

      两者的区别:

        innerText是需要对innerHTML的值进行

        1)HTML转义(等同于XML转义,对< 、&等转义字符进行处理

        2)经过HTML解释和CSS样式解释

        3)剔除格式信息 (多个空格合并成一个,换行,制表

        经过上述3步后留下的纯文本;innerText不返回<script>元素的内容;同时,它对某些表格元素(table,tbody,tr)是只读属性

        textContent只是经过上述的第一步,没有进行2 3步,只将后代的text节点简单的串联在一起

         ====》来自javascript textContent与innerText的异同分析 ====》

      

    查找元素的后代中节点中的所有的Text节点

    返回纯文本

    =====================================================================

      创建节点

          createElement() /createTextNode() / createComment() /createDocumentFragment() /createElementNS()

          cloneNode(boolean)   true  表示深复制,它及其后代元素都会被复制,false 表示只复制它本身,其余元素不会被复制

         importNode(element, boolean)  第一个参数是一个文档的节点,第二个参数是一个布尔值,与cloneNode()中的参数一样;返回一个适合本文档插入的节点的副本(IE不支持)

    插入节点

       appendChild() / insertBefore ()

       如果调用appendChild()或insertBefore() 将已存在文档中的一个节点再次插入,那个节点将自动从它当前的位置删除并在新的位置重新插入,没有必要显示删除该节点。

        应用:

    表单行排序

  • 相关阅读:
    linux查看电脑温度
    sshd_config详解
    Python Matplotlib包中文显示异常解决方法
    "打开jupyter notebook后找不到安装Anaconda的环境"的解决方法
    [7]力扣每日一题
    UML复习回忆
    [6]力扣每日一题
    [4]力扣每日一题
    [3]力扣每日一题
    mybatis 动态创建表、主键、索引、注释
  • 原文地址:https://www.cnblogs.com/fsy0718/p/3294537.html
Copyright © 2011-2022 走看看