• 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>
  • 相关阅读:
    总复习
    第十七天(最后的模块)
    第十五天(内置函数)
    第16天(内置模块)
    第十四天(模块)
    第十三天(都是理论)
    第十二天(叠加装饰器和迭代器)
    python基础学习-day33==课后作业练习
    python基础学习-面向对象高级
    python基础学习-day29==课后作业练习
  • 原文地址:https://www.cnblogs.com/yunkong/p/4460344.html
Copyright © 2020-2023  润新知