分享一些常见的浏览器兼容性问题



1.万恶的低版本IE浏览器只支持innerText并不支持textContent
所以我们要兼容谷歌或者火狐 ;textContent是标准方法;标准浏览器都支持;
function getText(
!tag,innerText ? tag.textContent : tag.innerText;
}


2. 我们在js中用 元素.style.属性 ,  只能获取行内样式;
我们要获取内嵌和外链css样式要用到这样一个方法:getComputedStyle();
但是IE9以下它不支持;IE自己搞了个 对象.currentStyle 属性,所以还是要做兼容;

function  getStyle(obj, attr ){

return obj.currentStyle ?  obj.currentStyle[ attr ] : getComputedStyle(obj)[attr]; 

//这里注意:判断的话,只能把currentStyle放在前面;因为currentStyle是属性,没有是undefined

//而getComputedStyle是方法,没有会报错,所以不能放在前面判断;

}


3. childNodes 和children;

childNodes,在标准浏览器下会包含文本节点;而在IE9以下只会包含元素节点;

不过我们一般用children, 几乎不用childnode;

children在iE低版本浏览器和标准浏览器都只包含元素节点;


4. firstChild 和 firstElementChild 

lastChild和lastElementChild

都会有兼容性问题

不过我们可以用children[0]和 children[children.length-1]来代替上面;

你可能感兴趣的:(JavaScript)