ie8的兼容

一、IE8如下不支持getElementsByClassName方法
//解決IE8之類不支持getElementsByClassName
if (!document.getElementsByClassName) {
document.getElementsByClassName = function (className, element) {
var children = (element || document).getElementsByTagName('*');
var elements = new Array();
for (var i = 0; i < children.length; i++) {
var child = children[i];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
if (classNames[j] == className) {
elements.push(child);
break;
}
}
}
return elements;
};
}

二、IE8不支持數組的indexOf方法 如何解決
//添加數組IndexOf方法
if (!Array.prototype.indexOf){
Array.prototype.indexOf = function(elt /*, from*/){
var len = this.length >>> 0;

var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;

for (; from < len; from++){
if (from in this && this[from] === elt)
return from;
}
return -1;
};
}

三、nth-child
ul li:nth-child(1){
color:#fff;
}/*選取第一個li*/
ul li:nth-child(odd){
color:#fff;
}/*選取偶數*/
ul li:nth-child(even){
color:#fff;
}/*選取奇數*/
ul li:nth-child(3n+1){
color:#fff;
}/*選取3n+1個元素*/
ie8不兼容nth-child()
ul li:first-child{
color:#fff;
}/*選取第一個li*/
ul li:first-child+li+li{
color:#fff;
}/*選取第三個li*/

四、ie8不兼容opacity
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70);
相關文章
相關標籤/搜索