HTML5中新增了一个令人期待已久的方法:getElementsByClassName。借此方法我们可以通过class属性中的类名来访问元素。
但由于这个方法比较新,某些DOM实现里可能还没有,只有较新的浏览器才支持,所有DOM程序员需要编写自己的函数来实现
这一功能。下面是JavaScript Dom编程艺术上面的实现方法:
function myGetElementsByClassName(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[results.length] = elems[i];
}
return results;
}
接受两个参数,node表示DOM树中的搜索起点,classname就是要搜索的类了。