innerHTML与innerText的异同

简介:

在一道面试题中看到的。

1、功能讲解: 
innerHTML 设置或获取位于对象起始和结束标签内的 HTML 
outerHTML 设置或获取对象及其内容的 HTML 形式 
innerText 设置或获取位于对象起始和结束标签内的文本 
outerText 设置(包括标签)或获取(不包括标签)对象的文本 
2、示例 

复制代码
 1 <html> 
 2 <head> 
 3 <title>Demo</title> 
 4 <style><!-- 
 5 body {font-family:"宋体";color="blue";font-size="9pt"} 
 6 --> </style> 
 7 <script language="JavaScript"> 
 8 //.innerHTML 
 9 function innerHTMLDemo() 
10 { 
11 test_id1.innerHTML="<i><u>设置或获取位于对象起始和结束标签内的 HTML.</u></i>"; 
12 } 
13 //.innerText 
14 function innerTextDemo() 
15 { 
16 test_id2.innerText="<i><u>设置或获取位于对象起始和结束标签内的文本.</u></i>"; 
17 } 
18 //.outerHTML 
19 function outerHTMLDemo() 
20 { 
21 test_id3.outerHTML="<i><u>设置或获取对象及其内容的 HTML 形式.</u></i>"; 
22 } 
23 //.outerText 
24 function outerTextDemo() 
25 { 
26 test_id4.outerText="<i><u>设置(包括标签)或获取(不包括标签)对象的文本.</u></i>"; 
27 } 
28 </script> 
29 </head> 
30 <body> 
31 <ul> 
32 <li id="test_id1" onclick="innerHTMLDemo()">innerHTML效果.</li> 
33 <li id="test_id2" onclick="innerTextDemo()">innerText效果.</li> 
34 <li id="test_id3" onclick="outerHTMLDemo()">outerHTML效果.</li> 
35 <li id="test_id4" onclick="outerTextDemo()">outerText效果.</li> 
36 </ul> 
37 </body> 
38 </html> 
复制代码

 


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

特别说明: 
  innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签,下面是一个简单的符合W3C标准的示例: 
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">无HTML,符合W3C标准</a>


本文转自ChokCoco博客园博客,原文链接:http://www.cnblogs.com/coco1s/p/3637866.html

目录
相关文章
|
JavaScript 安全 前端开发
documen.write 和 innerHTML、innerText 的区别?
documen.write 和 innerHTML、innerText 的区别?
66 0
|
JavaScript 前端开发
ja中document.write和innerHTML、innerText 的区别
ja中document.write和innerHTML、innerText 的区别
45 0
|
2月前
|
前端开发 JavaScript
前端基础(七)_DOM元素获取(getElementById、getElementsByTagName、getElementsByClassName、querySelector等)
本文介绍了如何在前端通过不同的方法获取DOM元素,包括getElementById、getElementsByTagName、getElementsByClassName、querySelector和querySelectorAll。
94 3
|
5月前
document.write和innerHTML、innerText 的区别?
document.write和innerHTML、innerText 的区别?
|
6月前
|
安全
document.write和innerHTML和innerText的区别
document.write和innerHTML和innerText的区别
43 8
|
6月前
|
JavaScript 前端开发
document.write和innerHTML、innerText 的区别
document.write和innerHTML、innerText 的区别
60 5
|
6月前
|
安全
document.write和innerHTML、innerText的区别?
document.write和innerHTML、innerText的区别?
innerHTML和innerText的使用
innerHTML和innerText的使用
44 0
|
Web App开发 JavaScript 前端开发
JavaScript中 querySelector 与 getElementById 方法的区别
JavaScript中 querySelector 与 getElementById 方法的区别
305 0
JavaScript中 querySelector 与 getElementById 方法的区别
|
JavaScript API
Day21 - innerText、 nodeValue与 textContent的区别
Day21 - innerText、 nodeValue与 textContent的区别
198 0