论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

Javascript教程:火狐浏览器中使用innerText属性

文章类别:Javascript | 发表日期:2012-5-9 8:48:32

Javascript教程:火狐浏览器中使用innerText属性


今天给大家分享下载运用火狐浏览器的时候,这位innerText属性我们该如何设置呢?同时又是为什么要设置这个属性,而不改其他属性设置:

1、为什么要innerText?因为安全问题;
2、为firefox dom模型扩展属性;
3、currentStyle属性可以取得实际的style状态;
4、IE实现innerText时考虑了display方式,如果是block则加换行;
5、为什么不用textContent?因为textContent没有考虑元素的display方式,所以不完全与IE兼容;

请大家看看以下代码:

<html>
<body>
<div id="d1"><a href="aa">ccc</a>ddd<div>eeee</div>fff</div>
<script type="text/javascript">
<!--
//
// patch of innerText for firefox
//
(function (bool) {
function setInnerText(o, s) {
while (o.childNodes.length != 0) {
o.removeChild(o.childNodes[0]);
}

o.appendChild(document.createTextNode(s));
}

function getInnerText(o) {
var sRet = "";

for (var i = 0; i < o.childNodes.length; i ++) {
if (o.childNodes[i].childNodes.length != 0) {
sRet += getInnerText(o.childNodes[i]);
}

if (o.childNodes[i].nodeValue) {
if (o.currentStyle.display == "block") {
sRet += o.childNodes[i].nodeValue + "\n";
} else {
sRet += o.childNodes[i].nodeValue;
}
}
}

return sRet;
}

if (bool) {
HTMLElement.prototype.__defineGetter__("currentStyle", function () {
return this.ownerDocument.defaultView.getComputedStyle(this, null);
});

HTMLElement.prototype.__defineGetter__("innerText", function () {
return getInnerText(this);
})

HTMLElement.prototype.__defineSetter__("innerText", function(s) {
setInnerText(this, s);
})
}
})(/Firefox/.test(window.navigator.userAgent));
//-->
</script>

<script type="text/javascript">
<!--
var d1 = document.getElementById("d1");

alert(d1.innerText);
d1.innerText = "xxx";
//-->
</script>
</body>
</html>

视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058