innerText兼容火狐和IE

IE中的获取文本方法innerText在firefox中不支持
firefox改成了textContent方法/属性
并且在Firefox中文本中间的空白自符被无情的替换没了
使用起来异常不方便
现在好了,用Javascript重新定义了innerText方法
使得在Firefox中也可以使用innerText方法
并且此方法解决了firefox中空白字符的问题

使用方法:
将下面的脚本放在页面内
不管ie还是firefox都可以使用obj.innerText提取文本了

<script language="javascript">
function isIE(){ //ie?
   if (window.navigator.userAgent.toLowerCase().indexOf("msie")>=1)
    return true;
   else
    return false;
}

if(!isIE()){ //firefox innerText define
   HTMLElement.prototype.__defineGetter__(     "innerText",
    function(){
     var anyString = "";
     var childS = this.childNodes;
     for(var i=0; i<childS.length; i++) {
      if(childS[i].nodeType==1)
       anyString += childS[i].tagName=="BR" ? '\n' : childS[i].textContent;
      else if(childS[i].nodeType==3)
       anyString += childS[i].nodeValue;
     }
     return anyString;
    }
   );
   HTMLElement.prototype.__defineSetter__(     "innerText",
    function(sText){
     this.textContent=sText;
    }
   );
}
</script>

你可能感兴趣的:(JavaScript,IE,prototype,脚本,firefox)