`

innerText、outerText、innerHTML、outerHTML的区别与使用

 
阅读更多

innerText、outerText、innerHTML、outerHTML的区别与使用

 

1、区别描述

innerHTML 设置或获取位于对象起始和结束标签内的 HTML
outerHTML 设置或获取对象及其内容的 HTML 形式
innerText 设置或获取位于对象起始和结束标签内的文本
outerText 设置(包括标签)或获取(不包括标签)对象的文本

innerText和outerText在获取时是相同效果,但在设置时,innerText仅设置标签内的文本,而outerText设置包括标签在内的文本。

2、示例代码

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>innerText、outerText、innerHTML、outerHTML的区别与使用</title>
	</head>
	<body>
		<div name="outer">
			<div id="test" style="background:#000;color:white;width:400px;height:70px;">div
				<h3>背景部分</h3>
			</div>
			<div id="test1" style="background:#00c;color:white;width:400px;height:50px;">
				<h1>innerHTML</h1>
			</div>
			<div id="test2" style="background:#10f;color:white;width:400px;height:50px;">
				<h1>outerHTML</h1>
			</div>
			<div id="test3" style="background:#2cf;color:white;width:400px;height:50px;">
				<h1>innerText</h1>
			</div>
			<div id="test4" style="background:#47f;color:white;width:400px;height:50px;">
				<h1>outerText</h1>
			</div>
			<div id="test5" style="background:#6af;color:white;width:400px;height:50px;">
				<h1>textContent</h1>
			</div>
		</div>
	</body>
	<script type="text/javascript">
		function test() {
			var idTest = document.getElementById("test");
			var idTest1 = document.getElementById("test1");
			var idTest2 = document.getElementById("test2");
			var idTest3 = document.getElementById("test3");
			var idTest4 = document.getElementById("test4");
			var idTest5 = document.getElementById("test5");
			var result = document.getElementById("result");
			if("innerHTML" in idTest) {
				console.log("innerHTML: " + idTest.innerHTML);
				idTest1.innerHTML = "<font color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
			}
			if("outerHTML" in idTest) {
				console.log("outerHTML: " + idTest.outerHTML);
				idTest2.outerHTML = "<font color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
			}
			if("innerText" in idTest) {
				console.log("innerText: " + idTest.innerText);
				idTest3.innerText = "<font color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
			}
			if("outerText" in idTest) {
				console.log("outerText: " + idTest.outerText);
				idTest4.outerText = "<font color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
			}
			if("textContent" in idTest) {
				console.log("textContent: " + idTest.textContent);
				idTest5.textContent = "<font color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
			}
		}

		test();
	</script>
</html>

 3、不同之处

 简单的说innerHTML和outerHTML、innerText与outerText的不同之处在于: 
  1)innerHTML与outerHTML在设置对象的内容时包含的HTML会被解析,而innerText与outerText则不会。 
  2)在设置时,innerHTML与innerText仅设置标签内的文本,而outerHTML与outerText设置包括标签在内的文本。 

4、运行结果

IE8

Firefox

 

Chrome

Safari

 

IE9

 

 

 

5、兼容性总结:

参考: http://tech.cncms.com/sheji/js/111123.html

 

IE下.innerHTML将左右空格去除,得到的nodeType === 1

 

<div id="inn">
	<div>
		123
		223
		323
	</div>
</div>
<script>
	var div = document.getElementById("inn");
	console.log(div.childNodes.length);
	console.log(div.innerHTML);
	console.log(div.childNodes[0]);
	console.log(div.childNodes[1]);
	console.log(div.childNodes[2]);
	console.log(div.childNodes[0].innerHTML);
	console.log(div.childNodes[0].nodeType);
</script>

  

  • 大小: 3.1 KB
  • 大小: 17.8 KB
  • 大小: 52.4 KB
  • 大小: 35.5 KB
  • 大小: 48.3 KB
  • 大小: 22.4 KB
  • 大小: 7.7 KB
  • 大小: 11.7 KB
分享到:
评论

相关推荐

    html innerHTML outerHTML innerText outerText等的区别及实例汇总

    html js innerHTML outerHTML innerText outerText 等的区别及实例汇总

    innerHTML、outerHTML、innerText、outerText的用法与区别

    .innerHTM、outerHTML、innerText、outerText的用法与区别 .innerHTML、outerHTML、innerText、outerText是HTML文档对象模型(DOM)中四个常用的属性,它们都是用来操作HTML元素的内容的,但它们之间有着很大的区别...

    innerHTML,outerHTML,innerText,outerText的用法及区别解析

    在JavaScript中,`innerHTML`, `outerHTML`, `innerText`, 和 `outerText` 是四个非常重要的属性,用于操作HTML元素的内容。下面将详细解释这些属性的用法和它们之间的区别。 1. **innerHTML** - `innerHTML` 属性...

    javascript innerHTML、outerHTML、innerText、outerText的区别

    JavaScript中的innerHTML、outerHTML、innerText和outerText是四个用于操作HTML元素内容的属性,它们各自有不同的功能和用途。 1. innerHTML: - innerHTML允许我们获取或设置一个元素内部的HTML内容。当我们设置...

    详谈innerHTML innerText的使用和区别

    document对象中有innerHTML、outerHTML、innerText和outerText四个属性,它们之间的区别和使用方法是开发者必须掌握的知识。 首先,让我们来了解innerHTML和outerHTML这两个属性。innerHTML设置或获取标签所包含的...

    你不知道的outerText,innerText 区别说明

    理解 outerText, innerText, innerHTML, outerHTML 的区别和使用场景 outerText, innerText, innerHTML, outerHTML 是 HTML 元素的四种不同的属性,它们之间有着细微的区别,理解它们的区别和使用场景对于前端...

    innerText innerHTML的用法以及注意事项 [推荐]

    outerText和outerHTML与innerText和innerHTML类似,但它们同时影响元素自身以及其内部内容。outerText会获取或设置一个元素及其所有后代的文本,而outerHTML则会获取或设置元素及其内容的完整HTML表示。 通过了解...

    innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解

    innerText属性和outerText属性在读取元素节点的文本内容时,得到的值是不一样的。它们的不同之处在于设置一个节点的文本属性时,outerText属性会使得原来的元素节点被文本节点替换掉。注意,innerText是非标准属性,...

    delphi网页解析类,主要针对idhttp等方式获取的源码进行解析(原创)

    非常小巧实用的网页解析类,在delphi 10.2下编译通过,主要方法:getElementByid getElementsByTagName(aTag : string) getElementByTagNameAndFlag getElementsByClassName 标签主要属性:innerText , innerHTML ...

    学习笔记:有关网络知识的笔记

    学习笔记Web知识说明深入JavaScript知识水平了解概念懂得使用实例输出总结亲自实现HTTP缓存 https状态码200201创建的206、300304不是Mo,400、500 HTTPS 网络路径参考协议相对网址HTML DOM操作innerHtml,outerHtml...

    Javascript数组操作高级心得整理

     innerText(IE)、textContent(FF)、innerHTML 26  outerText、outerHTML(少用) 26  value属性获取表单节点内容 26 (3) 访问节点的样式 27  使用节点对象的style属性对象改变样式 27  使用className设置...

    js常用操作

    - `innerText` 和 `outerText`:用于获取或修改元素的文本内容。 - `insertAdjacentHTML` 和 `insertAdjacentText`:用于在指定位置插入 HTML 或文本。 #### 字符串处理 字符串是 JavaScript 中常见的数据类型,...

    js对各标签(控件)的操作

    3. **innerText 和 outerText**:获取或修改文本内容。 ```javascript element.innerText; // 获取元素内部文本内容 element.innerText = '新的文本'; // 修改元素内部文本内容 element.outerText; // 获取元素...

    百度前台js笔试题与答案

    - IE有innerText, outerText, outerHTML,FF没有,可以使用textContent和innerHTML。 - FF有HTMLElement, HTMLDivElement等接口,而IE没有。 - IE使用ActiveXObject创建XMLHttpRequest,FF使用原生的XMLHttpRequest...

    跨浏览器开发经验总结

    - `element.outerText`、`element.innerText`、`element.outerHTML`、`element.innerHTML`:这些属性主要用于读取或修改元素的内容或结构,在IE中具有特殊的支持。 2. **Table操作** - `moveRow(iSource, ...

Global site tag (gtag.js) - Google Analytics