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); //弹出测试

浙公网安备 33010602011771号