(转)innerHTML、innerText和outerHTML、outerText的区别

时间:2023-03-09 10:04:54
(转)innerHTML、innerText和outerHTML、outerText的区别

原文:http://walsh.iteye.com/blog/261966

innerHTML、innerText和outerHTML、outerText的区别          博客分类:

HTML 
1、区别描述如下:
  • innerHTML 设置或获取位于对象起始和结束标签内的 HTML
  • outerHTML 设置或获取对象及其内容的 HTML 形式
  • innerText 设置或获取位于对象起始和结束标签内的文本
  • outerText 设置(包括标签)或获取(不包括标签)对象的文本

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

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>innerHTML、outerHTML和innerText、outerHTML的区别</title>
  6. <script language="JavaScript" type="text/javascript">
  7.   //.innerHTML
  8.   function innerHTMLDemo()
  9.   {
  10.    test_id1.innerHTML="<i><u>设置或获取位于对象起始和结束标签内的 HTML.</u></i>";
  11.   }
  12.   //.innerText
  13.   function innerTextDemo()
  14.   {
  15.    test_id2.innerText="<i><u>设置或获取位于对象起始和结束标签内的文本.</u></i>";
  16.   }
  17.   //.outerHTML
  18.   function outerHTMLDemo()
  19.   {
  20.    test_id3.outerHTML="<font size=9pt color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
  21.   }
  22.   //.outerText
  23.   function outerTextDemo()
  24.   {
  25.    test_id4.outerText="<br></br><i><u>设置(包括标签)或获取(不包括标签)对象的文本.</u></i>";
  26.   }
  27.   </script>
  28.   </head>
  29.   <body>
  30.   <ul>
  31.   <li id="test_id1" onclick="innerHTMLDemo()">innerHTML效果.</li>
  32.   <li id="test_id2" onclick="innerTextDemo()">innerText效果.</li>
  33.   <li id="test_id3" onclick="outerHTMLDemo()">outerHTML效果.</li>
  34.   <li id="test_id4" onclick="outerTextDemo()">outerText效果.</li>
  35.   </ul>
  36.   </body>
  37.   </html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>innerHTML、outerHTML和innerText、outerHTML的区别</title>
<script language="JavaScript" type="text/javascript">
  //.innerHTML
  function innerHTMLDemo()
  {
   test_id1.innerHTML="<i><u>设置或获取位于对象起始和结束标签内的 HTML.</u></i>";
  }
  //.innerText
  function innerTextDemo()
  {
   test_id2.innerText="<i><u>设置或获取位于对象起始和结束标签内的文本.</u></i>";
  }
  //.outerHTML
  function outerHTMLDemo()
  {
   test_id3.outerHTML="<font size=9pt color=red><i><u>设置或获取对象及其内容的 HTML 形式.</u></i></font>";
  }
  //.outerText
  function outerTextDemo()
  {
   test_id4.outerText="<br></br><i><u>设置(包括标签)或获取(不包括标签)对象的文本.</u></i>";
  }
  </script>
  </head>
  <body>
  <ul>
  <li id="test_id1" onclick="innerHTMLDemo()">innerHTML效果.</li>
  <li id="test_id2" onclick="innerTextDemo()">innerText效果.</li>
  <li id="test_id3" onclick="outerHTMLDemo()">outerHTML效果.</li>
  <li id="test_id4" onclick="outerTextDemo()">outerText效果.</li>
  </ul>
  </body>
  </html>

3、不同之处:     简单的说innerHTML和outerHTML、innerText与outerText的不同之处在于:  

 1)、innerHTML与outerHTML在设置对象的内容时包含的HTML会被解析,而innerText与outerText则不会。   
2)、在设置时,innerHTML与innerText仅设置标签内的文本,而outerHTML与outerText设置包括标签在内的文本。    
对于一个id为"testdiv"的div来说,outerHTML、innerHTML以及innerTEXT三者的区别可以通过下图展示出来: (转)innerHTML、innerText和outerHTML、outerText的区别