function getElementsByClassName(node,classname){
if(node.getElementsByClassName){
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[result.length]=elems[i];
}
}
return results;
}
}
该代码中加粗部分参数是什么意思?getElementsByClassName方法的参数应该是一个字符串,为什么括号内没有引号呢?
低版本的ie浏览器不支持getElementsByClassName方法,上面那段代码是封装了一个兼容性良好的getElementsByClassName,各个浏览器版本都可以使用。
比如说你要在整个页面中获取元素,第一个参数就是document ,第二个参数是你想要获取的元素的classname 。
比如说你要在ul中获取元素,第一个参数就是对ul的引用,这个引用可以通过其他方法例如getElementById或者getElementsByTagName 来得到,第二个参数同上