存档

2009年5月 的存档

解决 Firefox 的 innerText

2009年5月2日 4 条评论

在做公司的一个项目的时候发现,Firefox 下可以用 obj.innerText 获取指定标签内的文本数据,却无法通过 obj.innerText = str 的方式来填充。在网上搜索了一会找到一段给 Firefox 添加 innerText 填充的 js 代码。

function isIE(){
    if(window.navigator.userAgent.toLowerCase().indexOf(“msie”)>=1){
        return true;
    }else{
        return false;
    }
}

if(!isIE()){
    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].innerText;
                }else if(childS[i].nodeType==3){
                    anyString += childS[i].nodeValue;
                }
            }

            return anyString;
        }
    );

    HTMLElement.prototype.__defineSetter__(“innerText”,
        function(sText){
            this.textContent=sText;
        }
    );
}

分类: Javascript 标签: