js 中innerHTML,innerText,outerHTML,outerText的区别
开头说下innerText和outerText只在chrome浏览器中有效
定义和用法
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,包括标签。
来看代码

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head> <body>
<div id="div1">这是一个标签div</div>
<span id="span1">这是一个标签span</span>
<div id="div2">
<span>div2里面的span1</span>
<span>div2里面的span2</span>
</div>
<script>
var div1 = document.getElementById("div1").innerHTML;
var span1 = document.getElementById("span1").innerHTML;
var div2 = document.getElementById("div2").innerHTML;
console.log(div1);
console.log(span1);
console.log(div2);
</script>
</body> </html>

我定义了三个标签 ,然后用console打印出来

可以看出如果如果当前标签只有文字,那innerHTML只会输出文字
如果还有子标签存在,则会将子标签以及标签内的文字一起输出,这点一定要切记
这个时候你可以用replace方法来将标签去除
只获得文本内容
document.getElementById('div2').innerHTML.replace(/<.+?>/gim,''));

如上,span标签已经没有了,只剩下里面的文本内容
定义和用法

<body>
<div id="div1">这是一个标签div</div>
<span id="span1">这是一个标签span</span>
<div id="div2">
<span>div2里面的span1</span>
<span>div2里面的span2</span>
<img src="" alt="">
</div>
<script>
var div1 = document.getElementById("div1").innerText;
var span1 = document.getElementById("span1").innerText;
var div2 = document.getElementById("div2").innerText;
console.log(div1);
console.log(span1);
console.log(div2); </script>
</body>

从结果可以看到不管是当前标签还是子标签都只输出文本内容
定义和用法

<body>
<div id="div1">这是一个标签div</div>
<span id="span1">这是一个标签span</span>
<div id="div2">
<span>div2里面的span1</span>
<span>div2里面的span2</span>
<img src="" alt="">
</div>
<script>
var div1 = document.getElementById("div1").outerHTML;
var span1 = document.getElementById("span1").outerHTML;
var div2 = document.getElementById("div2").outerHTML;
console.log(div1);
console.log(span1);
console.log(div2);
</script>
</body>

我们看控制台的打印结果
有意思吧
outerHTML是把当前标签的全部内容包括标签本身也全部取出来了
定义和用法
我们来看代码

<body>
<div id="div1">这是一个标签div</div>
<span id="span1">这是一个标签span</span>
<div id="div2">
你好世界
<span>div2里面的span1</span>
<span>div2里面的span2</span>
<img src="" alt="">
</div>
<script>
var div1 = document.getElementById("div1").outerText;
var span1 = document.getElementById("span1").outerText;
var div2 = document.getElementById("div2").outerText;
console.log(div1);
console.log(span1);
console.log(div2);
</script>
</body>

看console打印的结果

很显然,outerText是把当前标签的内容给输出了,如果有子标签,也会把子标签的内容也一起输出了
那好,经过这么一比较,我们就可以得出结论了
innerHTML 输出当前标签的文本内容,如果标签内有子标签,会连子标签本身和子标签内的文本内容一起输出
innerText 只输出当前标签内的文本内容,如果标签内有子标签,那么也只输出子标签内的文本内容
outerHTML 输出当前标签的本身和标签内的文本内容,如果有子标签,那么子标签本身和标签内的文本内容也将一起输出
outerText 只输出当前标签内的文本内容,如果标签内有子标签,那么也只输出子标签内的文本内容
js 中innerHTML,innerText,outerHTML,outerText的区别的更多相关文章
- javaScript中innerHTML,innerText,outerHTML,outerText的区别
开头说下innerText和outerText只在chrome浏览器中有效 定义和用法 innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,包括标签. 来看代码 <!DOC ...
- innerHTML, innerText, outerHTML, outerText的区别
innerHTML:返回标签内部嵌套的子元素的所有html标签+文本内容content. innerText:返回标签内部嵌套的子元素的文本内容content. outerHTML:返回标签本身+嵌套 ...
- JS中innerHTML、outerHTML、innerText 、outerText、value的区别与联系?jQuery中的text()、html()和val()
一.JS中innerHTML.outerHTML.innerText .outerText.value的区别与联系?jS中设置或者获取所选内容的值:①innerHTML :属性设置或返回该标签内的HT ...
- js中innerHTML、outerHTML与innerText的用法与区别
____________________________________________________________________________________________________ ...
- JS中innerHTML、outerHTML、innerText 、outerText、value的区别与联系?
1.innerHTML 属性 (参考自<JavaScript高级程序设计>294页) 在读模式下,innerHTML 属性返回与调用元素的所有子节点(包括元素.注释和文本节点)对应的 HT ...
- js中innerHTML和outerHTML的相同与不同
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML,包括标签. outerHTML 设置或获取对象及其内容的HTML形式,也就是标签和文本内容全都显示出来 innerText ...
- innerHTML、outerHTML、innerText、outerText的区别及兼容性问题
今天看了很多文章关于innerHTML.outerHTML.innerText.outerText的区别,都是很模糊的一个介绍,所以自己总结下这些区别以及一些重点内容.很多文章在描述这些区别的时候,都 ...
- (转)JS中innerHTML,innerText,value
原文:http://holysonll.blog.163.com/blog/static/21413909320134111054352/ JS中innerHTML,innerText,value 2 ...
- 【前端】js中new和Object.create()的区别
js中new和Object.create()的区别 var Parent = function (id) { this.id = id this.classname = 'Parent' } Pare ...
随机推荐
- iOS绘制坐标图,折线图-Swift
坐标图,经常会在各种各样的App中使用,最常用的一种坐标图就是折线图,根据给定的点绘制出对应的坐标图是最基本的需求.由于本人的项目需要使用折线图,第一反应就是搜索已经存在的解决方案,因为这种需求应该很 ...
- NOIP 2018 划水记
(此处不应有目录) (本来想咕掉这篇游记) Day -1 今天信心题,这个毒瘤出题人怎么出了一堆垃圾题(smallfat批判这个垃圾题). T2,T3是送分题.T1考了个noip根本不会考得类欧几里德 ...
- Oracle中的位图索引和函数索引
位图索引 同样的,先说是什么,再说为什么. 上篇我们说过BTREE索引是将数据表的索引列和行号排序后以树状形式存在磁盘中.那位图索引是什么样的呢? 现有如下日志表,有操作类型字段op_type,该字段 ...
- php rsa
<?php $res=openssl_pkey_new(); // Get private key $ok = openssl_pkey_export($res, $privkey); // G ...
- Spring循环依赖问题
什么是循环依赖? 循环依赖就是循环引用,指两个或多个bean互相持有对方,比如说TestA引用TestB.TestB引用TestA,最终形成一个闭环. 注意:循环依赖不是指循环调用. 循环调用:指方法 ...
- Xilinx Vivado的使用详细介绍(5):调用用户自定义封装的IP核
Zedboard OLED Display Controller IP v1 介绍 Author:zhangxianhe 本文档提供了快速添加,连接和使用ZedboardOLED v1.0 IP内核的 ...
- 网站性能测试工具 webbench 的安装和使用
1.webbench的下载和安装 wget http://home.tiscali.cz/~cz210552/distfiles/webbench-1.5.tar.gz sudo tar xvf we ...
- 20175317 MyCP(课下作业,必做)
一.题目要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内 ...
- SYN-flood攻击
原理:当TCP三次握手进行第一次握手时,客户端向服务端发送SYN请求报文,第二次握手服务端会返回一个SYN+ACK的一个确认报文,syn-flood攻击就发生在第三次握手,当客户端不去回应服务端的SY ...
- servletsza
servlet本身不能独立运行,需要在一个web应用中运行,而web应用是部署在tomcat上的 所以一个servlet开发需要以下几个步骤: ①创建web应用项目 ②编写servlet代码 ③部署到 ...