对于DOM对象的这两个属性,初学者往往会感到疑惑,因为通过它们所获得的值没有任何区别。
实际上,只要理解了它们各自的含义,就不难辨别了。
某元素的innerText指的是由其元素的开始标签和结束标签所包含的那一段HTML代码被去除格式后的纯文本。
outerText与其不同的是它包含元素的开始和结束标签。
在取值的时候两者没有任何区别,但在赋值的时候就很容易看出其区别了。
下面是一个例子:
DIV容器 A:
DIV容器 B: code
显示代码
<div id="A" style="font-size:20px;border:2px double black;">DIV容器 A:
<div id="B" style="font-size:16px;color:brown;">DIV容器 B:
<font face="Arial" size="7" color="#CC3399">code</font>
</div>
</div>
<script language="javascript" type="text/javascript">
<!--
var str=document.getElementById("A").innerHTML;
function changeInnerText()
{
document.getElementById("A").innerHTML=str;
window.alert("先将DIV容器 A 还原成初始状态。然后改变DIV容器 B 的innerText。");
var tmp=document.getElementById("B").innerHTML;
window.alert("改变之前DIV容器 A 的innerHTML为:/n/n/n"+str);
document.getElementById("B").innerText="changed code";
window.alert("改变之后DIV容器 A 的innerHTML为:/n/n/n"+document.getElementById("A").innerHTML);
}
function changeOuterText()
{
document.getElementById("A").innerHTML=str;
window.alert("先将DIV容器 A 还原成初始状态。然后改变DIV容器 B 的outerText。");
var tmp=document.getElementById("B").innerHTML;
window.alert("改变之前DIV容器 A 的innerHTML为:/n/n/n"+str);
document.getElementById("B").outerText="changed code";
window.alert("改变之后DIV容器 A 的innerHTML为:/n/n/n"+document.getElementById("A").innerHTML);
}
//-->
</script>
<button onclick="javascript:changeInnerText();" style="font-size:14px;color:blue;">改变DIV容器 B 的innerText</button>
<button onclick="javascript:changeOuterText();" style="font-size:14px;color:red;">改变DIV容器 B 的outerText</button>
博客主要讲解了DOM对象的innerText和outerText属性。innerText是元素标签内HTML代码去除格式后的纯文本,outerText包含元素的开始和结束标签。取值时二者无区别,赋值时差异明显,并给出了示例。
1246

被折叠的 条评论
为什么被折叠?



