有时需要查询纯文本形式的元素内容,或者在文档中插入纯文本。标准的方法是用Node的textContent属性来实现:

var para=document.getElementsByTagName("p")[0];

//文档中第一个<p>

var text=para.textContent;

//文本是"This is a simple document."

para.textContent="Hello World!";

//修改段落内容

textContent属性在除了IE的所有当前的浏览器中都支持。在IE中,可以用Element的innerText属性来代替。

下面简单实现一个textContent()函数,它递归地遍历元素的子节点,然后连接后代节点中所有的Text节点的文本。为了理解代码,回想一下nodeValue属性(定义在Node类型中),它保存Text节点的内容。

//返回元素e的纯文本内容,递归进入其子元素

//该方法的效果类似于textContent属性

function textContent(e){

var child,type,s="";//s保存所有子节点的文本

for(child=e.firstChild;child!=null;child=child.nextSibling){

type=child.nodeType;

if(type===3){//Text节点

s+=child.nodeValue;

} else if (type===1){//递归Element节点

s+=textContent(child);

}

}

return s;

}

textContent属性就是将指定元素的所有后代Text节点简单地串联在一起。

Node的textContent属性相关推荐

  1. 【EASYDOM系列教程】之 textContent 属性

    Node 对象提供了 textContent 属性实现获取或设置 HTML 页面中指定元素的文本内容. 获取文本内容 textContent 属性表示 HTML 页面指定节点及其后代节点的文本内容.其 ...

  2. node.js 静态属性_如何使用静态站点和Node.js开发和部署第一个全栈式Web应用程序

    node.js 静态属性 This tutorial will show you how to convert a static website that uses HTML, CSS and Jav ...

  3. JS 之Node节点的 属性、方法 获取

    JS Node节点的常见属性和方法使用 & 如何获取相应节点和值 一.节点的常用属性和方法 (一)通过具体的元素节点调用如下方法和属性 <1>getElementsByTagNam ...

  4. element 往node里面增加属性值_【Vue原理】Compile - 源码版 之 Parse 属性解析

    写文章不容易,点个赞呗兄弟 专注 Vue 源码分享,文章分为白话版和 源码版,白话版助于理解工作原理,源码版助于了解内部详情,让我们一起学习吧 研究基于 Vue版本 [2.5.17] 如果你觉得排版难 ...

  5. element 往node里面增加属性值_HashMap加载因子为何0.75,为何初始化值2的指数幂,底层解析...

    01 前言 我们在声名HashMap的时候,一般都会这样写. public class MapTest { public static void main(String[] args) { HashM ...

  6. 15、DOM常见的操作方式

    DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口),描绘了一个层次化的节点树. 15.1 创建DOM节点 常用的节点类型有如下几种:元素节点.属性节点.文本节点.注释节点 ...

  7. 【收藏】JavaScript DOM操作简易速查手册

    附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全: 书单导航页(点击右侧 极客侠栈 即可打开个人博客):极客侠栈 ①[Java]学习之路吐血整理技术书 ...

  8. JavaScript之DOM对象(Node结点属性、导航属性、页面查找)

    文章目录 DOM与Node节点 自身属性 导航属性 页面查找 DOM与Node节点 1.DOM的概念 DOM 是 W3C(万维网联盟)的标准,DOM 定义了访问 HTML 和 XML 文档的标准. W ...

  9. Document,Node,Element,HTMLDocument ,HTMLCollection,HTMLElement,NodeList

    这个问题如果不是基于原生js写组件,可能仍然不明不白,既然遇到了,就整理一下. 一.Document,Node,Element的关系 1,Document 对象 Document 对象是一棵文档树的根 ...

最新文章

  1. Graph2Vec在XFL论文中提及的用处
  2. 《让系统发生重大宕机事故的15个方法》
  3. python数据结构与算法第六讲_Python 学习 -- 数据结构与算法 (六)
  4. Cloud一分钟 |亚马逊市值被微软反超;GKE全球大宕机长达19小时;苹果市值跌破9000亿美元...
  5. 服务器虚拟化相关问题分析,服务器虚拟化中遇到的存储问题分析
  6. php phar,PHP中phar(PHP Archive)包的创建并使用
  7. VC6.0设置注释快捷键
  8. 一款优秀的中文识别库——ocr
  9. 6章4节类的声明和对象与方法
  10. jdbcType (null) combination
  11. android8.0的电池图标,Android 8.0 电池图标 显示分析
  12. 杭电 1242 Rescue
  13. Shiro系列(一)——Shiro + Springboot + JWT 整合
  14. 拷机测试需要多久_如何科学理解麒麟9000的拷机功耗?
  15. ROC曲线,AUC面积
  16. MySQL高级:索引优化之防止索引失效
  17. 亚像素边缘提取的例子
  18. SpringBoot中业务层标准开发和快速开发(大全)
  19. fftw3/gsl/kissfft/OouraFFT库中傅里叶变换/反傅里叶变换函数和Matlab中的fft/ifft的对应关系
  20. 图形学基础|各项异性与头发渲染

热门文章

  1. 直播、线上办公、IoT需求井喷,Wi-Fi 6如何防止网络“塞车”?
  2. SSRF 漏洞危害大,应避免被利用攻击内网应用!| 原力计划
  3. 搞机器学习,Python 和 R 哪个更合适?
  4. 2020 年,大火的 Python 和 JavaScript 是否会被取而代之?
  5. 达摩院 2020 预测:量子霸权指日可待!
  6. TIOBE 12 月编程语言排行榜:争夺年度编程语言,Java、C、Python、C# 即将开战!...
  7. 燃爆了!胡歌秒变最帅产品经理发布荣耀V20!
  8. 同样是程序员,为什么别人比你更优秀?
  9. 放弃 VSCode,再次选择使用十年之久的 Emacs
  10. 7名高管、半数员工离职,如何再造乔布斯重返苹果神话?