Javascript兼容汇总

 

以下列出所有因浏览器版本冲突的属性或者方法,并在他们的下面给出解决方案

兄弟节点

nextSibling: 调用者是节点。IE678。IE9+异议

nextElementSibling:在火狐谷歌IE9都指的是下一个元素节点。

previousSibling: IE678 火狐谷歌IE9+ 异议

 

子节点:

firstChild:             IE678

firstElementChild 火狐谷歌IE9+异议

lastChild:             IE678

lastElementChild:火狐谷歌IE9+异议

 

兄弟节点我们不用

子节点我们只用children

兄弟节点怎么获得 div.parentNode.children[index];

 

点击事件

addEventListener(“click”,fn);

 

 

scroll的兼容性问题:

1.未声明 DTD(谷歌只认识他)

document.body.scrollTop

2.已经声明DTD(IE678只认识他)

document.documentElement.scrollTop

火狐/谷歌/ie9+以上支持的

window.pageYOffset

使用封装方法:

function scroll() {  // 开始封装自己的scrollTop
    if(window.pageYOffset !== undefined) {  // ie9+ 高版本浏览器
        // 因为 window.pageYOffset 默认的是  0  所以这里需要判断
        return {
            left: window.pageXOffset,
            top: window.pageYOffset
        }
    }
    else if(document.compatMode === "CSS1Compat") {    // 标准浏览器   来判断有没有声明DTD
        return {
            left: document.documentElement.scrollLeft,
            top: document.documentElement.scrollTop
        }
    }
    return {   // 未声明 DTD
        left: document.body.scrollLeft,
        top: document.body.scrollTop
    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值