zoukankan      html  css  js  c++  java
  • Node.textContent

    https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent

    Node.textContent 属性可以表示一个节点及其后代节点的文本内容。

    语法

    var text = element.textContent;
    element.textContent = "this is some sample text";
    

    描述

    • 如果 element 是 Document,DocumentType 或者 Notation 类型节点,则 textContent 返回null。如果你要获取整个文档的文本以及CDATA数据,可以使用document.documentElement.textContent
    • 如果节点是个CDATA片段,注释,ProcessingInstruction节点或一个文本节点,textContent 返回节点内部的文本内容(即 nodeValue)。
    • 对于其他节点类型,textContent 将所有子节点的 textContent 合并后返回,除了注释、ProcessingInstruction节点。如果该节点没有子节点的话,返回一个空字符串。
    • 在节点上设置 textContent 属性的话,会删除它的所有子节点,并替换为一个具有给定值的文本节点。

    与innerText的区别

    Internet Explorer 引入了 element.innerText,目的是相似的,不过有下面几点不同之处:

    • textContent 会获取所有元素的内容,包括<script> 和 <style> 元素,然而 IE 专有属性innerText 不会。
    • innerText 会受样式的影响,它不返回隐藏元素的文本,但 textContent 返回。
    • 由于 innerText 受 CSS 样式的影响,它会触发重排(reflow),但textContent 不会。

    与innerHTML的区别

    正如它的名字,innerHTML 返回 HTML 文本。很多时候,当需要往一个元素里面写文本的时候,人们使用innerHTML,但其实应该使用 textContent,因为文本不会被解析为 HTML,所以它很可能在性能表现上会更好,同时还能够避免XSS攻击。

    例子

    // 给定如下HTML:
    //   <div id="divA">This is <span>some</span> text</div>
    
    // 获得文本内容:
    var text = document.getElementById("divA").textContent;
    // |text| is set to "This is some text".
    
    // 设置文本内容:
    document.getElementById("divA").textContent = "This is some text";
    // divA的HTML现在是这样的:
    //   <div id="divA">This is some text</div>
  • 相关阅读:
    scrapy Request方法
    from lxml import etree报错
    python文件管道 下载图集
    scrapy基本爬虫,采集多页
    python操作excel xlwt (转)
    matplotlib 设置标题 xy标题等
    matplotlib 饼状图
    acwing 600. 仰视奶牛
    LeetCode 684. 冗余连接
    LeetCode 200. 岛屿数量
  • 原文地址:https://www.cnblogs.com/yunkong/p/4460344.html
Copyright © 2011-2022 走看看