innerHTML与innerText的异同
在一道面试题中看到的。
1、功能讲解:
innerHTML 设置或获取位于对象起始和结束标签内的 HTML
outerHTML 设置或获取对象及其内容的 HTML 形式
innerText 设置或获取位于对象起始和结束标签内的文本
outerText 设置(包括标签)或获取(不包括标签)对象的文本
2、示例
1 <html> 2 <head> 3 <title>Demotitle> 4 <style> style> 7 <script language="JavaScript"> 8 //.innerHTML 9 function innerHTMLDemo() 10 { 11 test_id1.innerHTML="设置或获取位于对象起始和结束标签内的 HTML."; 12 } 13 //.innerText 14 function innerTextDemo() 15 { 16 test_id2.innerText="设置或获取位于对象起始和结束标签内的文本."; 17 } 18 //.outerHTML 19 function outerHTMLDemo() 20 { 21 test_id3.outerHTML="设置或获取对象及其内容的 HTML 形式."; 22 } 23 //.outerText 24 function outerTextDemo() 25 { 26 test_id4.outerText="设置(包括标签)或获取(不包括标签)对象的文本."; 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标准的示例:
无HTML,符合W3C标准