• javascript之DOM(四其他类型)


    一、Text类型

    文本节点由Text类型表示,指的是可以以字面意思解释的纯文本内容,其中包含HTML代码。

    nodeType=3

    nodeName=#text

    nodeValue=文本内容

    parentNode是一个Element

    nodeValue属性和data属性作用一致,都可以访问文本节点的内容

    操作文本节点的内容:

    appendData(text);//将text添加到节点的末尾

    deleteData(Offset,count);//从Offset位置开始删除count个字符

    insertData(Offset,text);//在Offset位置插入text

    replaceData(Offset,count,text);//用text替换Offset起Offset+count终的字符

    spiltText(offset);//在offset位置将文本分为两个文本节点

    substringData(offset,count);//提取从offset到offset+count位置的字符串

    每个包含文本的元素只能包含一个文本节点,并且文本节点必须有内容。空格也可以

    1、创建文本节点

    document.createTextNode();参数为插入节点中的文本。

    在创建新的文本节点时,除非将文本节点插入到文档树已存在的节点中,否则不会在浏览器窗口看见新节点。

    <script type="text/javascript">
          var div=document.createElement("div");
          div.className="message";
          var text=document.createTextNode("new node");
          div.appendChild(text);
          alert(document.body.appendChild(div));
    
        </script>

    这段代码必须放在body中,不然document.body会为null。同时new node会出现在页面中

    2、规范化文本节点

    合并相邻文本节点的normalize()方法。在一个包含两个或多个文本节点的父元素上调用normalize()方法,会将所有同胞文本节点合并为1个文本节点,节点的nodeValue值为合并之后的值。

    <script type="text/javascript">
          var div=document.createElement("div");
          div.className="message";
          var text=document.createTextNode("new node");
          var text1=document.createTextNode("new node1");
          div.appendChild(text);
          div.appendChild(text1);
          alert(div.childNodes.length);//2
          div.normalize();
          alert(div.childNodes.length);//1
          document.body.appendChild(div);
    
        </script>

    二、Comment类型

    注释在DOM中是Comment类型表示的。

    nodeName=#comment

    parentNode为Document或Element

    和Text类型的操作方式相同

    三、CDATASection类型

    针对XML文档表示CDATA区域继承自Text用于除spiltText之外所有方法

    nodeName=#cdata-section

    在XML文档中可以使用document.createCDATASection(),方法创建

    四、DocumentType类型(不常用)

    五、Attr类型

    元素的特性在DOM中是以Attr类型来表示的。在所有浏览器中都可以访问Attr类型的构造函数和属性。

    parentNode=null;

    3个属性:name=nodeName,value=nodeValue,specified

  • 相关阅读:
    python3数据库配置,远程连接mysql服务器
    Ubuntu 16.04安装JDK
    用Python从零开始创建区块链
    理解奇异值分解SVD和潜在语义索引LSI(Latent Semantic Indexing)
    gensim介绍(翻译)
    记一次浅拷贝的错误
    Heap queue algorithm
    Python
    python列表中插入字符串使用+号
    Linux(Ubuntu)使用 sudo apt-get install 命令安装软件的目录在哪?
  • 原文地址:https://www.cnblogs.com/Black-Cobra/p/7462402.html
Copyright © 2020-2023  润新知