JavaScript中innerText,innerHTML,outerText,outerHTML使用心得和区别

 

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

object.innerHTML

也就是从对象的起始位置到终止位置的全部内容,包括Html标签

显示的结果是:<span style="color:red">test1</span><span style="color:blue">test2</span>

object.innerText

从起始位置到终止位置的内容, 但它去除Html标签

显示的结果是:test1 test2

object.outerHTML

除了包含innerHTML的全部内容外, 还包含对象标签本身。

显示的结果是:<DIV id=test><SPAN style="COLOR: red">test1</SPAN> <SPAN style="COLOR: blue">test2</SPAN> </DIV>

object.outerText

这个显示的结果与innerText没有什么区别(如果有发现不同的朋友告诉我一声,多谢了)

显示的结果是:test1 test2

 

如果上面的内容太抽象,看完下面的示例就能明白了

<div id = "test">
    <span style="color:red">test1</span>
    <span style="color:blue">test2</span>
</div>
<a href="javascript:alert(test.innerHTML)">innerHTML内容</a>
<a href="javascript:alert(test.innerText)">innerText内容</a>
<a href="javascript:alert(test.outerHTML)">outerHTML内容</a>
<a href="javascript:alert(test.outerText)">outerText内容</a>

 

另外说明一点的是这个四个属性只有innerHTML是符合W3C的标准的,其他三个只适用于IE浏览器

还有就是要在非IE的浏览器中输出与innerText一样的结果,可以使用innerHTML取得包含HTML标签的内容后,再用正则表达式去除HTML标签,下面是一个简单的符合W3C标准的示例:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">无HTML,符合W3C标准</a>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值