通过class获取元素
函数代码
HTML5新增了一个方法:getElementsByClassName,可以通过类名访问元素。但是一些IE浏览器不支持,所以就需要封装一个方法,来通过class获取元素。
function getElesByCls(node, classname) {
if (node.getElementsByClassName(classname)) {
return node.getElementsByClassName(classname);
} else {
var results = new Array();
var elems = node.getElementsByTagName('*');
for (var i = 0; i < elems.length; i++) {
if (elems[i].className.indexOf(classname) != -1) {
results[results.length] = elems[i];
}
}
return results;
}
}
var father = document.getElementById('father');
var arr = getElesByCls(father, 'item');
console.log(arr);
函数说明
这个函数接收2个参数,第一个node代表DOM树中搜索的起点,第二个classname就是要搜索的类名。
如果浏览器支持node.getElementsByClassName方法,那么直接返回结果,如果不支持,那么就通过替代方法查找类名。