javascript中innerHTML、outerHTML、innerText和outerText的区别

1、功能讲解:
innerHTML 设置或获取位于对象起始和结束标签内的 HTML (从对象的起始位置到终止位置的全部内容,包括Html标签)
outerHTML 设置或获取对象及其内容的 HTML 形式 (除了包含innerHTML的全部内容外, 还包含对象标签本身)
innerText   设置或获取位于对象起始和结束标签内的文本 (从起始位置到终止位置的内容, 但它去除Html标签)
outerText   设置(包括标签)或获取(不包括标签)对象的文本

2、实例:

<div id="test"><span>测试</span></div>

js代码如下:

window.onload=function (){
    var oDiv=document.getElementById("test");
    alert(oDiv.innerHTML);
alert(oDiv.outerHTML);
alert(oDiv.innerText);
alert(oDiv.outerText); };

结果如下:

innerHTML结果:<span>测试</span>

outerHTML结果:<div id="test"><span>测试</span></div>

 innerText结果:测试

outerText结果:测试

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标签

 例如:

<div id="test"><span>测试</span></div>

js:
var oDiv=document.getElementById("test"); alert(oDiv.innerHTML); //弹出<span>测试</span> alert(oDiv.innerHTML.replace(/<.+?>/gim,'')); //弹出测试 alert(oDiv.innerText); //弹出测试

 

posted @ 2017-04-26 13:04  爽朗琴天  阅读(199)  评论(0)    收藏  举报