前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >JavaScript 学习-33.HTML DOM 获取和修改文本节点

JavaScript 学习-33.HTML DOM 获取和修改文本节点

作者头像
上海-悠悠
发布于 2022-05-30 07:12:12
发布于 2022-05-30 07:12:12
1.6K00
代码可运行
举报
运行总次数:0
代码可运行

前言

textContent、innerText 和 innerHTML 三个方法的使用场景和区别

textContent 和 innerText

IE 浏览器最早引入了innerText, 虽然是IE浏览器私有属性,但是其他很多浏览器也支持了。提到IE,必然是坑! 火狐浏览器把innerText换成了textContent , 但其他浏览器上面,也是可以使用textContent。

使用区别: textContent 用来设置或获取某个元素内所有文本内容,包含子元素内容,隐藏元素也能获取。 innerText 的返回值会被格式化 ,但是textContent的返回值不会被格式化 innerText会把页面里的空标签当作换行处理, ( 一个空标签是一行 , 连续的多个空标签也是一行) ,但是textContent就返回一行文本(有子标签才会返回多行文本) . 最重要的区别 innerText返回的值, 依赖于页面的显示. textContent依赖于代码的内容

示例:获取p标签文本内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="demo">
    <p id="p1">这是文本内容</p>
    hello world!
</div>
<script>
    // p标签
    p1 = document.getElementById('p1');
    console.log("这是textContent:\n" + p1.textContent);
    console.log("这是innerText:\n" + p1.innerText);
</script>

获取div标签文本内容(包含子元素文本内容)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="demo">
    <p id="p1">这是文本内容</p>
    hello world!
</div>
<script>
    // p标签
    div = document.getElementById('demo');
    console.log("这是textContent:\n" + div.textContent);
    console.log("这是innerText:\n" + div.innerText);
</script>

innerText 无法获取子元素p标签隐藏元素, innerText依赖于页面的显示. textContent依赖于代码的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="demo">
    <p id="p1" style="display:none;">这是文本内容</p>
    hello world!
</div>
<script>
    // p标签
    div = document.getElementById('demo');
    console.log("这是textContent:\n" + div.textContent);
    console.log("这是innerText:\n" + div.innerText);
</script>

但是直接定位p标签,又能获取子元素文本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="demo">
    <p id="p1" style="display:none;">这是文本内容</p>
    hello world!
</div>
<script>
    // p标签
    p = document.getElementById('p1');
    console.log("这是textContent:\n" + p.textContent);
    console.log("这是innerText:\n" + p.innerText);
</script>

innerText 和 innerHTML

获取内容时 innerHTML 从对象的起始位置到终止位置的全部内容,还包括 HTML 标签。 innerText 会去掉标签的内容。

innerText和innerHTML 获取内容示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="demo">
    <p id="p1"><strong>这是文本内容</strong></p>
    hello world!
</div>
<script>
    // 获取文本
    p = document.getElementById('p1');
    console.log(p.innerText);  // 这是文本内容
    console.log(p.innerHTML);  // <strong>这是文本内容</strong>
</script>

innerText和innerHTML 有换行和空格示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div>
    <p id="p2">hello       world!
        你好世界!
    </p>
</div>
<script>
    // 获取文本
    p = document.getElementById('p2');
    console.log(p.innerText);  // hello world! 你好世界!
    console.log(p.innerHTML);  //
</script>

获取div标签内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="demo">
    <p id="p1"><strong>这是文本内容</strong></p>
    hello world!
</div>
<script>
    // 获取文本
    div = document.getElementById('demo');
    console.log(div.innerText);  //
    console.log(div.innerHTML);  //
</script>

div.innerHTML 获取的是div下的全部html代码内容 div.innerText 仅仅只获取文本内容

innerText和innerHTML设置内容时:

  • innerText不会识别html样式
  • innerHTML会识别html样式

设置内容示例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div>
    <p id="p3"></p>
    <p id="p4"></p>
</div>
<script>
    // 设置文本
    p3 = document.getElementById('p3');
    p3.innerText = '<strong>hello world</strong>'
    p4 = document.getElementById('p4');
    p4.innerHTML = '<strong>hello world</strong>'
</script>

innerText设置标签内容,是没有标签的效果的 innerHTML设置新的html标签内容,是有标签效果的

2022年第 11 期《python接口web自动化+测试开发》课程,6月5号开学!

《JMeter 性能测试实战》课程6月15号开学

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
JavaScript 教程「9」:DOM 元素获取、属性修改
Web API 是指网页服务器或者网页浏览器的应用程序接口。简单来讲,就是我们在编写 JavaScript 代码时,可以通过 Web API 来操作 HTML 网页和浏览器。
村雨遥
2022/05/23
2.7K0
JavaScript 教程「9」:DOM 元素获取、属性修改
JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等
JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等。(注意:这些操作都是通过元素对象的属性实现的)
清出于兰
2020/10/26
2.9K0
JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等
Web API - DOM 第二节(操作元素)
​ JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等。(注意:这些操作都是通过元素对象的属性实现的)
meowrain
2021/04/22
4300
Web API - DOM 第二节(操作元素)
【前端基础篇】JavaScript之DOM介绍
WebAPI 就包含了 DOM + BOM. 这个是 W3C 组织规定的. (和制定 ECMAScript 标准的大佬们不是一伙人).
半截诗
2024/10/09
1340
【前端基础篇】JavaScript之DOM介绍
事件基础及操作元素
JavaScript 使我们有能力创建动态页面,而事件是可以被 JavaScript 侦测到的行为。
星辰_大海
2020/09/30
1.4K0
前端成神之路-WebAPIs01
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。
海仔
2020/12/22
8410
前端成神之路-WebAPIs01
操作元素
  JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等。(注意:这些操作都是通过元素对象的属性实现的)
梨涡浅笑
2020/10/27
1.6K0
操作元素
JavaScript 学习-31.HTML DOM 修改 HTML 内容
前言 通过 HTML DOM,JavaScript 能够访问 HTML 文档中的每个元素,并且可以修改这些元素的属性和文本值 修改 HTML = 改变元素、属性、样式和事件 修改 HTML 元素 修改 HTML DOM 意味着许多不同的方面: 改变 HTML 内容 改变 CSS 样式 改变 HTML 属性 创建新的 HTML 元素 删除已有的 HTML 元素 改变事件(处理程序) innerHTML 插入文本 innerHTML 插入文本或者修改元素的文本值 <body> <h1>DOM H
上海-悠悠
2022/05/30
1.9K0
JavaScript 学习-31.HTML DOM 修改 HTML 内容
「Web编程API」- 01
请注意,本文编写于 2096 天前,最后修改于 174 天前,其中某些信息可能已经过时。
曼亚灿
2023/05/17
6670
「Web编程API」- 01
JavaScript——DOM基础
文档对象模型(Document Object Model),简称DOM,是W3C组织推荐的处理可扩展标记语言(HTML或者XML)的标准接口。
岳泽以
2022/10/26
6.6K0
JavaScript——DOM基础
MutationObserver接口-2-观察范围
上一节,我们使用MutationObserver时,都只是观察节点的属性。但是实际上并不仅仅是只能观察节点的属性,还可以观察子节点、子树等。只需要调用observe()方法时,第二个参数添加对应配置即可。
赤蓝紫
2023/03/16
4330
MutationObserver接口-2-观察范围
JavaScript 学习-26.HTML DOM节点与节点属性
前言 DOM (Document Object Model) 文档对象模型,通过 HTML DOM,JavaScript 能够访问和改变 HTML 文档的所有元素。 简介 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。 HTML DOM 模型被结构化为对象树: 通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量: JavaScript 能改变页面中的所有 HTML 元素 JavaScript 能改变页面中的所有 HTML 属性 Jav
上海-悠悠
2022/05/26
1.4K0
JavaScript 学习-26.HTML DOM节点与节点属性
JavaScript之DOM
一、什么是DOM? DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。 DOM(Document Object Model)是一套
人生不如戏
2018/04/10
1.5K0
JavaScript之DOM
javaScript 原生DOM节点操作(最实用的dom节点操作大全)
注意:除了通过id选择节点的方式拿到的是一个确定的节点,其余的方式拿到的都会是一个数组,那么获取数组里面对应的节点需要用索引来取并且在Elements后面有s 例如:var body = document.ElementsByTagName("body")[0] ("fatherNode"表示父节点,"childNode"表示子节点)
憧憬博客
2020/07/20
2K0
JavaScript离别之作——HTML元素操作
document对象提供了一些用于查找元素的方法,利用这些方法可以根据元素的id、name和class属性以及标签名称的方式获取操作的元素。
全栈程序员站长
2022/09/09
1.1K0
JavaScript离别之作——HTML元素操作
javascript之DOM操作
http://www.cnblogs.com/kissdodog/archive/2012/12/25/2833213.html
bear_fish
2018/09/19
5410
JavaScript 学习-36.jQuery 获取和修改HTML
前言 jQuery 可以获取和修改HTML元素的属性和文本内容 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) attr() - 获取或设置属性 val() - 设置或返回表单字段的值 获取文本 text() 和 html() text()是获取文本内容,html()返回所选元素的内容(包括 HTML 标记) <h3>获取html内容</h3> <div id="demo"> <p class="text-info">hello w
上海-悠悠
2022/05/31
8000
JavaScript 学习-36.jQuery 获取和修改HTML
前端之HTML DOM操作
当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。
山河木马
2019/03/05
6000
28·灵魂前端工程师养成-DOM编程
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/09/26
4510
28·灵魂前端工程师养成-DOM编程
前端架构师之10_JavaScript_DOM
第1级DOM(DOM Level 1,或DOM1)。为XML和HTML文档中的元素、节点、属性等提供了必备的属性和方法。结合了Netscape及微软公司开发的DHTML(动态HTML)思想。
用户9184480
2024/12/13
1100
相关推荐
JavaScript 教程「9」:DOM 元素获取、属性修改
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文