用正则表达式写的getByClass

本文最后更新于:2023年3月30日 下午

最开始我们使用笨笨的方法解决通过class选取元素见:class获取DOM

这里我们再次使用正则表达式来优化

1
2
3
4
5
6
7
8
9
10
11
12
;function getByClass(obj, sclass) {
var allEle = obj.getElementsByTagName('*');
var aResult = [];
// \\b正则表达式单词边界
var re = new RegExp('\\b' + sclass + '\\b');
for (var i = 0; i < allEle.length; i++) {
if(re.test(allEle[i].className)) {
aResult.push(allEle[i]);
}
}
return aResult;
}

至于为什么开头为什么要多打一个分号,可要知道谁知道你引用的JS最后是否加了分号结束,即使加了也不会出错,这是规避错误的方法


用正则表达式写的getByClass
https://seven3.site/js/用正则表达式写的getByClass/
作者
Seven3s
发布于
2015年2月6日
许可协议