getElementsByClass
在原生的JavaScript中,目前浏览器并不直接支持getElementsByClass, 但在工作过程中又要经常用来它. 而像jQuery等库,都已经很好的扩展了这一函数.
还是直接上函数吧:
function getElementsByClassName(cName,tName,ex){
var rt = [],
_class = new RegExp('\\b'+cName+'\\b'),
tName = tName || '*',
i = 0,
len,
elems,
classes;
if(ex){
elems = ex.getElementsByTagName(tName);
}else{
elems = document.getElementsByTagName(tName);
}
for(len = elems.length;i++){
classes = elems[i].className;
if(_class.test(classes)) rt.push(elems[i]);
}
return rt;
}
使用Google,找到的代码,都是在使用正则匹配时,不正确。在Jeremy Keith的网站上找到一个不错的(可惜当时没有保存address).不过找到了一个相关的dom操作ppt,但是得到class的函数写的不怎么好.
ppt做的不错,如果传dom对象进去查找class就更快了
开心一百
6 九 10 at 15:24