寫東西的時候用到了getElementsByTagName(),我一直以為js 寫的東西是不會有兼容性的,這次在ie8下,getElementsByTagName()就不支持了,那怎么辦呢,我就查到一段代碼。
window.onload = function () {
var div = getClassNames('lg' , 'div');
function getClassNames(classStr,tagName){
if (document.getElementsByClassName) {
return document.getElementsByClassName(classStr)
}else {
var nodes = document.getElementsByTagName(tagName),ret = [];
for(i = 0; i < nodes.length; i++) {
if(hasClass(nodes[i],classStr)){
ret.push(nodes[i])
}
}
return ret;
}
}
function hasClass(tagStr,classStr){
var arr=tagStr.className.split(/\s+/ ); //這個正則表達式是因為class可以有多個,判斷是否包含
for (var i=0;i<arr.length;i++){
if (arr[i]==classStr){
return true ;
}
}
return false ;
};
//下邊寫你需要的代碼
var div = getClassNames('lg' , 'div');
</script>