javascript中innerHTML、innerText、outertHTML的区别与各自的用法

示例代码:

  1. <div id="test">  <span style="color:red">test1</span> test2 </div>   

test.innerHTML

         也就是从对象的起始位置到终止位置的全部内容,包括Html标签。上例中的test.innerHTML的值也就是“<span style="color:red">test1</span> test2 ”。

test.innerText

  从起始位置到终止位置的内容, 但它去除Html标签 。上例中的text.innerText的值也就是“test1 test2”, 其中span标签去除了。

test.outerHTML

  除了包含innerHTML的全部内容外, 还包含对象标签本身。上例中的text.outerHTML的值也就是<div id="test"><span style="color:red">test1</span> test2</div>

完整示例:

  1. <pre name="code" class="javascript"><div id="test">   
  2.  <span style="color:red">test1</span> test2</div>   
  3. <a href="javascript:alert(test.innerHTML)">innerHTML内容</a>  
  4. <a href="javascript:alert(test.innerText)">inerText内容</a>  
  5. <a href="javascript:alert(test.outerHTML)">outerHTML内容</a>  
  6. </div></pre><br>  
  7. <pre></pre>  
  8. <p></p>  
  9. <pre></pre>  
  10. <p></p>  
  11. <p style="margin-top:10px; margin-bottom:10px"><strong>特别说明:</strong></p>  
  12. <p style="margin-top:10px; margin-bottom:10px">     innerHTML是符合W3C标准的属性,而innerText只适用于IE浏览器,因此,尽可能地去使用innerHTML,而少用innerText,如果要输出不含HTML标签的内容,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签,下面是一个简单的符合W3C标准的示例:</p>  
  13. <p style="margin-top:10px; margin-bottom:10px"></p>  
  14. <pre name="code" class="javascript"><a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">无HTML元素,只含,符合W3C标准</a></pre>  
  15. <p></p>  
  16. <p style="margin-top:10px; margin-bottom:10px">        比如说一个div层里本来没有值,触发一个事件后要显示值,那么就能够使用innerHTML属性了,其实innerHTML属性除了能控制层以外,还能控制窗口内容的所有元素,但是我没有测试过。</p>  
  17. <p style="margin-top:10px; margin-bottom:10px"><strong>(1)对div标签的控制</strong></p>  
  18. <p style="margin-top:10px; margin-bottom:10px">div标签跟span标签是不一样的,div是一个层的块,span是一行,我们下面看演示就知道区别了。先来看一段控制div的代码。</p>  
  19. <p style="margin-top:10px; margin-bottom:10px"></p>  
  20. <pre name="code" class="javascript"><script language="javascript">  
  21. function chageDiv(number)  
  22. {  
  23.  if (number == 1) {  
  24.   document.getElementById("div1").innerHTML = "值为1";  
  25.  }  
  26.  if (number == 2) {  
  27.   document.getElementById("div1").innerHTML = "值为2";  
  28.  }  
  29. }  
  30. </script>  
  31.   
  32. DIV块测试:<div id="div1">默认值</div>  
  33.   
  34. <a href="#" onClick="chageDiv(1)">改变值为1</a>   
  35. <a href="#" onClick="chageDiv(2)">改变值为2</a></pre>  
  36. <p style="margin-top:10px; margin-bottom:10px">运行的时候,点击“改变值为1”那么“默认值”这个内容将会被改变为“值为1”,但是注意其中的界面,就是会发现“DIV测试:”和“默认值”是两行显示的,因为DIV是按块来显示的。</p>  
  37. <p style="margin-top:10px; margin-bottom:10px"><strong>(2)对span的控制</strong></p>  
  38. <p style="margin-top:10px; margin-bottom:10px">与div类似,但是它是按照行来显示的,看下面的代码:</p>  
  39. <p style="margin-top:10px; margin-bottom:10px"></p>  
  40. <pre name="code" class="javascript">function chageSpan(number)  
  41. {  
  42.  if (number == 1) {  
  43.   document.getElementById("span1").innerHTML = "值为1";  
  44.  }  
  45.  if (number == 2) {  
  46.   document.getElementById("span1").innerHTML = "值为2";  
  47.  }  
  48. }  
  49. </script>  
  50. Span行测试:<span id="span1">默认值</span><br>  
  51. <a href="#" onClick="chageSpan(1)">改变值为1</a>  
  52. <a href="#" onClick="chageSpan(2)">改变值为2</a></pre>  
  53. <p style="margin-top:10px; margin-bottom:10px">当点击“改变值为1”的时候,“默认值”将变为“值为1”,但是“Span行测试”和“默认值”是在同一行显示的,跟DIV不一样。</p>  
  54. <p style="margin-top:10px; margin-bottom:10px">另外一个值得注意的就是,不管是div还是span,后面的名字都是以为id来定义的,不是象表单一样是使用name来定义的。</p>  
  55. <p style="margin-top:10px; margin-bottom:10px"><br>  
  56. </p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值