vue-learning:12 - 2 - 区分:outerHTML - innerTHML - outerText - innerText - textContent
区分:outerHTML - innerTHML - outerText - innerText - textContent
获取值
<div id="outer">
外部
<div id="inner">
内部
<span style="display:none">浙江省</span>
<!-- 这是注释 -->
<span>杭州西湖美</span>
</div>
</div>
var d_outer = document.querySelector("#outer")
var d_inner = document.querySelector("#inner")
// 获取值
console.log("outerHTML >>>",d_outer.outerHTML)
console.log("innerHTML >>>",d_outer.innerHTML)
console.log("outerText >>>",d_outer.outerText)
console.log("innerHTML >>>",d_outer.innerText)
console.log("textContent >>>",d_outer.textContent)
outerHTML >>> <div id="outer">
外部
<div id="inner">
内部
<span style="display:none">浙江省</span>
<span>杭州西湖美</span>
</div>
</div>
innerHTML >>>
外部
<div id="inner">
内部
<span style="display:none">浙江省</span>
<span>杭州西湖美</span>
</div>
outerText >>> 外部
内部 杭州西湖美
innerHTML >>> 外部
内部 杭州西湖美
textContent >>>
外部
内部
浙江省
杭州西湖美

outerHTML会获取包括其自身,以及后代元素的所有HTML内容。意义上的包含outer外部即自身,会对内容中的标签符号进行转义。innerHTML获取除自身外的,内部HTML内容。意义上的inner内部,会对内容中标签符号进行转义。outerText微软IE浏览器最先提出的属性,暂未被写入W3C标准,但被大部分其它厂商浏览器支持,获取其包含的所有元素节点文本内容,但不包括隐藏的元素节点。innerText同样是微软提出的属性,但2016年已被写入W3C标准。获取所有文本内容,获取值时表现也outerText一致。获取其包含的所有元素节点文本内容,但不包括隐藏的元素节点。textContent获取所有节点的文本内容。虽然都是获取文本内容,但是与outerText/innerText有很多不同:- 可以返回隐藏元素的文本内容;
textContent属性不仅对元素节点有效。对于属性节点,注释节点等都是有效的,也会返回<style>和<script>节点的文本内容;- 对.\t、\r、\n与连续的空格效果会生效,虽然我们只演示了\n换行。但
outerText/innerText只对div元素节点显示换行
赋值
outerHTML赋新值
d_outer.outerHTML = "<span>这是outerHTML的赋值</span>"
// outerHTML赋值后再获取值,并不是最新的值,还是原来的值
console.log("outerHTML >>>",d_outer.outerHTML)
console.log("innerHTML >>>",d_outer.innerHTML)
console.log("outerText >>>",d_outer.outerText)
console.log("innerHTML >>>",d_outer.innerText)
console.log("textContent >>>",d_outer.textContent)
d_outer.outerHTML赋值表现与取值一样,会包括自身元素一起,都被替换,不会在页面中显示,但原有DOM片段仍在内存中,所以再次获取值仍然与赋值前一样。

innerHTML赋值
d_outer.innerHTML = "<span>这是innerHTML的赋值</span>"
// innerHTML赋值后再获取值,前后表现一致,为最新的值
console.log("outerHTML >>>",d_outer.outerHTML)
console.log("innerHTML >>>",d_outer.innerHTML)
console.log("outerText >>>",d_outer.outerText)
console.log("innerHTML >>>",d_outer.innerText)
console.log("textContent >>>",d_outer.textContent)
d_outer.innerHTML赋值表现与取值一致,仅对内部内容进行替换,并且重新获取值是最新内容。

outerText赋值
d_outer.outerText = "<span>这是outerText的赋值</span>"
// outerText赋值后再获取值,并不是最新的值,还是原来的值。同outerHTML表现一样
console.log("outerHTML >>>",d_outer.outerHTML)
console.log("innerHTML >>>",d_outer.innerHTML)
console.log("outerText >>>",d_outer.outerText)
console.log("innerHTML >>>",d_outer.innerText)
console.log("textContent >>>",d_outer.textContent)
d_outer.outerText有兼容性,并不是W3C标准属性。
- 赋值新内容会连自身元素也被替换。
- 不会对内容中的标签符号进行转换,默认全为字符文本。
- 重新取值仍然为内存中原来的值。
除了第二点外,基本表现与outerHTML一致。

innerText赋值
d_outer.innerText = "<span>这是innerText的赋值</span>"
// innerText赋值后再获取值
console.log("outerHTML >>>",d_outer.outerHTML)
console.log("innerHTML >>>",d_outer.innerHTML)
console.log("outerText >>>",d_outer.outerText)
console.log("innerHTML >>>",d_outer.innerText)
console.log("textContent >>>",d_outer.textContent)
d_outer.innerText赋值新内容,仅对后代节点内容进行替换。同样不会对赋值内容中的标签符号进行转义,默认全为字符文本。

textContent赋值
d_outer.innerText = "<span>这是textContent的赋值</span>"
// textContent赋值后再获取值
console.log("outerHTML >>>",d_outer.outerHTML)
console.log("innerHTML >>>",d_outer.innerHTML)
console.log("outerText >>>",d_outer.outerText)
console.log("innerHTML >>>",d_outer.innerText)
console.log("textContent >>>",d_outer.textContent)
d_outer.outerText赋值新内容,仅对后代节点内容进行替换。同样不会对赋值内容中的标签符号进行转义,默认全为字符文本。同innerText赋值完全一致。

总结

vue-learning:12 - 2 - 区分:outerHTML - innerTHML - outerText - innerText - textContent的更多相关文章
- DOM中的outerHTML,innerHTML,outerText,innerText的区别
--转自http://blog.163.com/yw_0721/blog/static/7164579720102932157759/ 简单的说innerHTML和outerHTML.innerTex ...
- (转)innerHTML、innerText和outerHTML、outerText的区别
原文:http://walsh.iteye.com/blog/261966 innerHTML.innerText和outerHTML.outerText的区别 博客分类: CSS/ ...
- 测试开发技术:DOM中 innerHTML、innerText、outerHTML、outerText的区别
测试开发技术:DOM中 innerHTML.innerText.outerHTML.outerText的区别 我们在做web自动化的过程中通过dom处理web页面元素,那么你就要了解innerHT ...
- innerHTML、innerText和outerHTML、outerText的区别
区别描述如下: innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内 ...
- JS中innerHTML和innerText,outerHTML和outerText
innerHTML 声明了元素含有的HTML文本,不包括元素本身的开始标记和结束标记 innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器(现在也适应chrome浏览器 ...
- Vue Learning Paths
Vue Learning Paths Vue Expert refs https://vueschool.io/articles/vuejs-tutorials/exciting-new-featur ...
- outerHTML和outerText的赋值是异步的
用JavaScript操作DOM时,经常有生成复杂HTML结构的需求.此时,通常不是用标准DOM接口(如createElement().setAttribute().append()等)来语句式地生成 ...
- innerHTML、innerText、outerHTML、outerText的区别
我们在用JS/JQ 获取或设置元素内容的时候,通常是获取或设置指定元素之间的内容 <script> //JS document.getElementById('test').innerHT ...
- innerHTML,innerText,outerHTML,outerText,value浅析
首先是一个例子: <div id= "aa">0<br/>0<span>11</span>22</div><inp ...
随机推荐
- spring自动扫描的注解@Component @Controller @Service @Repository
@Component @Controller @Service @Repository的作用 1.@controller 控制器(注入服务)2.@service 服务(注入dao)3.@reposit ...
- iOS 警告收录及科学快速的消除方法
http://www.cocoachina.com/ios/20150914/13287.html 作者:董铂然 授权本站转载. 前言:现在你维护的项目有多少警告?看着几百条警告觉得心里烦么?你真的觉 ...
- 详解 CALayer 和 UIView 的区别和联系
http://www.cocoachina.com/ios/20150828/13244.html 作者:@武蕴牛x 授权本站转载. 前言 前面发了一篇iOS 面试的文章,在说到 UIView 和 C ...
- react-cli
更新日志: v1.2.0 ...未完待续 v1.1.0 添加editorconfig 配置ESLint 集成prettier 集成 lint-staged 实现细节: 添加editorconfig e ...
- Flask学习之十二 使用boostrap
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xii-facelift 中文翻译地址:http://w ...
- How to use AutoMapper
http://docs.automapper.org/en/stable/Getting-started.html IMappingExpression<TSource, TDestinatio ...
- Redis源码解析:01简单动态字符串SDS
Redis没有直接使用C字符串(以'\0'结尾的字符数组),而是构建了一种名为简单动态字符串( simple dynamic string, SDS)的抽象类型,并将SDS用作Redis的默认字符 ...
- 阿里云DataV专业版发布,为可视化创造更多可能!
阿里云数据可视化应用工具DataV正式推出专业版,该版本为可视化领域专业团队和从业者量身打造,定位数据可视分析大屏搭建场景,让使用者可以轻松hold住复杂交互设计和实时数据交互查询需求. 什么是Dat ...
- Android的headerView和emptyView共存问题
今天做项目的时候,准备优化下ListView相关的东西,于是乎,需要做一个当列表无数据时,空的提醒页面.这个自然想到的是ListView的setEmptyView()方法,于是顺手就写了,可是,当我为 ...
- Linux 运算符
布尔运算符 下表列出了常用的布尔运算符,假定变量a为10 变量b为20: 运算符 说明 举例 ! 非运算 , 表达式为true 则返回false 否则返回true [!false] 返回true. ...