首页 > 其他 > 详细

实现浏览器兼容的innerText

时间:2014-10-29 23:30:00      阅读:365      评论:0      收藏:0      [点我收藏+]

今天学习到了FF不支持innerText,而IE、chrome、Safari、opera均支持innerText。

为了各个浏览器能兼容innerText,必须对js做一次封装。

为啥能实现兼容呢?原因是FF虽然不支持innerText属性,但支持有着类似功能的textContent属性。

以下为封装好的js:

var innerText = {
    setInnerText:(function(ele,value){
        if(typeof ele.innerText == "string"){
            ele.innerText = value;
        }else if(typeof ele.textContent == "string"){
            ele.textContent = value;
        }

    }),
    getInnerText:(function(ele){
        if(typeof ele.innerText == "string"){
            return ele.innerText;
        }else if(typeof ele.textContent == "string"){
            return ele.textContent;
        }

    })

};

我们可以验证下:

 html片段:

<body>
        <ul id="ul"><li>sdsssssss</li><li>qqqq</li><li>wwww</li><li>eeee</li></ul>
    </body>

js:

window.onload=function(){
    console.log(innerText.getInnerText(ul));
    console.log(ul.innerText);
}

在FF下的效果(通过ul.innerText返回了undefined):

bubuko.com,布布扣
在chrome浏览器的效果:

bubuko.com,布布扣
 

 

实现浏览器兼容的innerText

原文:http://www.cnblogs.com/wmmang-blog/p/4060543.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!