textContent 与 insideText 之间的区别

2024-03-04

有什么区别textContent and innerText在 JavaScript 中?

我可以用吗textContent如下:

var logo$ = document.getElementsByClassName('logo')[0];
logo$.textContent = "Example";

之间的主要区别innerText and textContent中概述得很好Kelly Norton 的博文:innerText 与 textContent http://www.kellegous.com/j/2013/02/27/innertext-vs-textcontent/。您可以在下面找到摘要:

  1. innerText是非标准的,textContent较早被标准化。
  2. innerText返回visible节点中包含的文本,而textContent返回full文本。例如,在以下 HTML 中<span>Hello <span style="display: none;">World</span></span>, innerText将返回“Hello”,同时textContent将返回“Hello World”。有关更完整的差异列表,请参阅以下表格:http://perfectionkills.com/the-poor-misunderstood-innerText/ http://perfectionkills.com/the-poor-misunderstood-innerText/(进一步阅读“innerText”在 IE 中有效,但在 Firefox 中无效 https://stackoverflow.com/questions/1359469/innertext-works-in-ie-but-not-in-firefox/1359822#1359822).
  3. 因此,innerText性能要求更高:它需要布局信息才能返回结果。
  4. innerText https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText仅定义为HTMLElement物体,同时textContent https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent是为所有定义的Node对象。

请务必查看此答案下面的信息丰富的评论。

textContent在 IE8 中不可用,并且裸机 Polyfill 看起来像是使用的递归函数nodeValue on all childNodes指定节点的:

function textContent(rootNode) {
  if ('textContent' in document.createTextNode(''))
    return rootNode.textContent;

  var childNodes = rootNode.childNodes,
      len = childNodes.length,
      result = '';
  
  for (var i = 0; i < len; i++) {
    if (childNodes[i].nodeType === 3)
      result += childNodes[i].nodeValue;
    else if (childNodes[i].nodeType === 1) 
      result += textContent(childNodes[i]);
  }

  return result;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

textContent 与 insideText 之间的区别 的相关文章

  • 使用 setAttribute() 添加“onclick”函数

    为什么以下不起作用 显然该功能尚未添加 function activatetypeinput event devtype The function is called but it doesn t set the attribute var
  • Jasmine-jQuery loadFixtures 未定义

    我对整个茉莉花的事情仍然很陌生 在过去的几个小时里我陷入了这个问题 我尝试使用 loadFixture 加载外部夹具文件 我使用 Jasmine 2 0 0 和 Jasmine jQuery 2 0 5 ReferenceError loa
  • 在 Javascript 中获取第一个数字出现后的子字符串

    我正在尝试提取第一个数字之后 并包括 的字符 ABC 123SD gt 123SD 123 gt 123 123SD gt 123SD ABC gt 我当前的解决方案如下 var string1 ABC 123SD var firstDig
  • 定义 js-xlsx 单元格范围

    我正在尝试使用 js xlsx 读取 Excel 值 我可以使用以下代码从工作簿工作表中获取单元格值 if typeof require undefined XLSX require xlsx var workbook XLSX readF
  • ajaxStop() 不触发

    这是不起作用的代码 document ajaxStop function this unbind ajaxStop prevent running again when other calls finish Display everythi
  • 在 javascript、jQuery 或 css 中,如何让 div 或 iframe 展开以填充其余空间

    我有三个 iframe 我将顶部 iframe 设置为 50px 高度 将底部 iframe 设置为 50px 但我希望中间 iframe 扩展以填充其余空间 有没有一种技术可以用来对任何窗口屏幕尺寸执行此操作 谢谢 example
  • window.onbeforeunload 在 Android Chrome 上不会触发 [alt.解决方案?]

    我开发了一个简单的聊天应用程序 我正在使用 window onbeforeunload当有人关闭选项卡 浏览器时 基本上是当用户离开房间时 通知其他用户 这是我的代码 scope onExit function scope chatstat
  • 如何导入和导出 javascript ES6 类

    我是 javascript 和 nodejs 的新手 我正在使用这个项目来发展我的技能并学习新技术 目前我的项目使用多个相互依赖的类 类文件位于不同的目录中 我当前正在尝试使用 export 和 require 语句来允许在其他文件中引用类
  • 以一定时间间隔连续重复运行 JavaScript 函数

    这是我的第一个问题 希望您尽快回答 我想要代码连续重复一个函数 我尝试了一些代码 但没有成功 我尝试了这段代码 我想在一段时间后重复这个功能 我努力了setInterval and setTimeout 但是 我还没有收到结果 这将重复该任
  • 搜索深度嵌套数组以更新对象

    我有一个深层嵌套的数据结构 我有兴趣匹配数组 和数组数组 中的某个值 然后将一些数据推送到随附的数组中 例如以下是我的数组colors并伴随着的是更多颜色数组可能存在也可能不存在 var myData color green moreCol
  • 确定元素是在页面折叠上方还是下方

    我有一些页面有多个输入框 用户可以在其中输入文本 在单击 下一步 按钮之前 需要填写其中一些内容 我弹出验证错误供用户查看 但是如果问题不在页面上 我希望页面滚动到它 而不是他们必须搜索丢失 错误的字段 我有一个滚动到位 但我无法确定要滚动
  • 通过JS Laravel访问存储目录

    有没有办法访问storage目录 该目录已经链接到publicJS 中的目录 我正在尝试制作一个上传图片的表单 验证脚本 if request gt hasFile photos marker gt photos request gt ph
  • 判断一个数字是否能被 3 或 5 整除 (FizzBu​​zz)

    如何根据输出是否能被 3 或 5 整除来更改输出 如果它能被 3 整除 我想显示 rock 如果它能被 5 整除 我想显示 star 类似于 FizzBu zz 如果两者都有 他们都会看到 这是我的代码 if var n Math floo
  • 了解 JavaScript - 资源

    使用 StackOverflow 的微型 Digit Blog 功能进行描述here https stackoverflow com about 我想发布以下我刚刚看到的 我觉得很有趣的谷歌技术谈话视频 我一直在理解 javascript
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • JavaScript 测验在提出所有问题之前结束

    我现在正在学习 JavaScript 并且正在创建一个测验 我的测验运行正常 控制台中没有任何错误 但它会跳过问题 有时会在回答所有问题之前结束测验 即使给出正确答案 也会减少时间 我不太确定为什么它会这样做 因为在我看来它的编码是正确的
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • 使用 AngularJS 多部分表单数据将文件上传到 Google Cloud Storage

    我正在尝试使用 AngularJS 中指定的多部分方法将图像文件上传到 Google Cloud Storagehttps cloud google com storage docs json api v1 how tos upload m
  • MongoDB中如何通过引用字段进行查询?

    我有两个 Mongo 模式 User id ObjectId name String country ObjectId Reference to schema Country Country id ObjectId name String
  • 从输入类型编号获取无效值

    我正在使用输入类型数字 当它无效时 我如何从中获取值 例如 使用类型编号并仅打印 e 这本身是无效的 我正在使用 React 但我认为这个问题非常普遍 onChange event console log event target valu

随机推荐

  • Objective-C 到 Swift 的完成处理程序

    我目前正在将一个项目从 Objective C 重写为 Swift 项目的大部分已完成 但我在翻译具有完成处理程序的方法时遇到问题 我已经查看了文档 但仍然遇到问题 方法是 void start void WTStartupConfigur
  • ADO.NET CommandBuilder、InsertCommand 和默认约束

    我正在将数据从表 A 复制到表 B 表 B 有一个nullable列有一个默认约束值为 0 一般来说 我使用以下访问器设置列的值 public object this string columnName get return DataTab
  • 了解 Linux 内核调度程序

    我正在研究 Linux 内核 并试图弄清楚循环调度算法是如何工作的 在里面kernel sched rt c文件中 有一个方法叫做task tick rt定义如下 static void task tick rt struct rq rq
  • 如何使用 Chocolatey 非交互方式安装 VS Build Tools 2022 以及一些自定义安装选项?

    我想安装带有以下组件的 VS Build Tool 2022 NET Desktop Build Tools 排除 Net Framework 4 8 目 标包 Web 开发构建工具 Node js Build Tools 包括可选的 我目
  • 无法在 eclipse 中配置 Facebook SDK

    我根据facebook教程完成了关于如何配置facebook SDK的所有步骤 并且没有任何运气 还尝试了github配置 如图所示Eclipse 上的 Android Facebook SDK 配置 https stackoverflow
  • 在游戏结束场景中使用视图控制器

    我需要在碰撞检测后为我的应用程序制作一个结束屏幕 使用按钮使结束屏幕返回主菜单 游戏的最简单方法是什么 我可以使用ViewController 我读过很多教程 视频以及这里的所有帖子 这是我当前的代码 并非全部 只是一些重要的事情 impl
  • 如何更改反应中道具的值?

    如何改变props的值 如何setProps 假设this props contact name的值是John 我想把它改成Johnny 我怎样才能做到这一点 例如 changeValue this props contact name J
  • 使用 Apache Superset API 提供数据集

    我想了解是否可以使用 Superset API 填充 Superset 数据集 我浏览了文档 https superset apache org docs rest api我感觉我们不能像上传 CSV 文件那样做到这一点 我知道另一种可能性
  • 在 html 文档中标记文本

    假设我有以下标记 h1 Some title h1 p First paragraph p p Second paragraph p 我需要标记文本的某些部分 即 第一段第二段 它看起来像这样 h1 Some title h1 p F p
  • 确定图像相对于页面顶部的位置

    我有 2 张图像需要稍微重叠 我的第一张图片是 logo png 第二张图片是 form png 我的html是 div img src images logo png align left div div img src images f
  • gnuplot - 将字符串变量转换为小写

    如何在 gnuplot 中将字符串转换为小写 这是一个 gnuplot 字符串处理问题 示例 我希望在 gnuplot 脚本中检查用户输入的参数 if tolower ARG2 ohms 因此接受 ohms Ohms 或 OHMS 首选是不
  • 整数除以 3 最快的方法是什么?

    int x n 3 lt make this faster for instance int a n 3 lt normal integer multiplication int b n lt lt 1 n lt potentially f
  • 使用 Python 删除所有 DynamoDB 项目

    如何使用 python boto3 删除 DynamoDB 中的所有项目 我正在尝试这样做 scan table scan with table batch writer as batch for each in scan Items ba
  • J2ME开发不用Java?

    我正在第一次涉足 J2ME 世界 我更喜欢使用函数式语言来进行开发 Scala 曾经支持 CLDC 但已不再维护 Bigloo似乎消失了 解释器 例如 Jython 是不行的 因为 J2ME 应用程序必须很小 至少我的应用程序必须很小 我想
  • GCov可以在windows下使用吗?

    我可以在 Windows 中安装 gcov 工具吗 或者我可以在windows下的eclipse中使用这个工具的插件吗 我对这个工具很陌生 我对这个工具没有任何想法 请帮我获取这个工具的信息 请告诉我在我的机器上运行此工具的要求 我在哪里可
  • YouTube IFRAME 与 YouTube Android 播放器 API

    我计划在我的 Android 应用程序中安装 YouTube 播放器 并找到了两种替代方案 框架API https developers google com youtube iframe api reference或与YouTube An
  • 如何将 Heroku 应用程序链接到私人 Github 存储库?

    我是 Heroku 的新手 我不熟悉部署 管道的用语 我已经安装了 Heroku CLI 并使用以下命令部署了一个应用程序 run heroku create myNewHerokuApp 我的实例现已制作完毕 我在 Github 上有一个
  • 页面部分回发后如何在 UpdatePanel 中保持焦点位置

    我在带有更新面板的页面中有四个控件 最初 鼠标焦点设置为第一个控件 当我将页面部分回发到服务器时 焦点会自动从我按下 Tab 键的控件的最后一个焦点控件移动到第一个控件 有什么办法可以保持最后的焦点吗 看一眼使用自动回发控件在更新面板中恢复
  • 在 Webpack + VueJs 中链接样式表和要求它们有什么区别?

    使用 VueJs 和 Webpack 组合 我发现要包含外部样式表 例如 bootstrap 您可以执行以下两种操作之一 在你的主 js 脚本中 你可能需要这样的样式表 require assets lib bootstrap min cs
  • textContent 与 insideText 之间的区别

    有什么区别textContent and innerText在 JavaScript 中 我可以用吗textContent如下 var logo document getElementsByClassName logo 0 logo tex