选择器兼容性
getElementsByClassName ( IE9以及以上支持)
querySelector/querySelectorAll (IE8以及以上支持)
forEach遍历数组 ( IE9以及以上支持)
兼容方法:for循环数组
addEventListener绑定事件
addEventListener( IE9以及以上支持)
attachEvent (IE678支持),但是要注意它的事件名字参数要加on。
兼容方法:绑定函数封装
//绑定事件
function addEvent(obj,type,fn){
if(obj.addEventListener){
obj.addEventListener(type,fn);
}else{
obj.attachEvent('on'+type,fn);
}
};
trim方法去除字符串前后空格( IE9以及以上支持)
兼容方法:在原型上对trim方法用正则表达式去除空格
var str=' kaivon ';
//console.log(str.trim());
String.prototype.trim=function(){
return this.replace(/^\s+|\s+$/g,'');
};
event对象
IE9以及以上支持
IE6,7,8的事件对象是window身上的一个属性
兼容方法:
var ev=ev||window.event;
获取dom节点
firstChild
lastChild
nextSibling
previousSibling
以上方法都是兼容的,但是各个浏览器取到的结果不一样。
IE8以下的非标准浏览器获取到的是标签节点,标准浏览器获取到的不一定是标签节点为 #text。
滚动条距离
BOM属性:(IE9以及以上支持)
window.pageXOffset;
window.pageYOffset;
DOM属性:
scrollTop/scrollLeft
document.documentElement.scrollTop (其它的浏览器从document身上去获取)
document.body.scrollTop ( chrome从body身上获取)
兼容方法:
document.onclick=function(){
var top=document.documentElement.scrollTop||document.body.scrollTop;
alert(top);
}