function getClass(str) {
if(document.getElementsByClassName){
return document.getElementsByClassName(str);
} else {
var nodes = document.getElementsByTagName("*");
var getClassArr = [];
var reg = new RegExp("\b"+str+"\b");
//通过正则匹配元素的类名中是否有符合条件的类名
for(var key in nodes) {
if(reg.test(nodes[key])) {
arr.push(nodes[key]);
}
}
return getClassArr;
}
}
function $(str) {
var flag = str[0];
var str = str.substring(1);
if(flag=="#") {
return document.getElementById(str);
} else if(flag==".") {
return getClass(str);
} else if(flag == "!") {
return document.getElementsByName(str)
} else if(flag=="^") {
return document.getElementsByTagName(str);
}
}
不同的浏览器之间对getElementsByclassName()存在兼容性问题
通过使用$() 可以以id , class ,tagname, name 获取元素