本文介绍了一种在 JavaScript 中通过 class 名称获取页面元素的方法。代码遍历所有 DOM 节点,利用正则表达式分割 className 属性来匹配目标 class,从而返回包含匹配元素的数组。该方法适用于需要兼容旧版浏览器或自定义选择逻辑的场景。
// 复制代码
JavaScript 通过 class 获取元素的方法
实现代码如下:
function getByClass(classname) {
var nodes = document.getElementsByTagName('*'),
ret = [];
for (var i = 0; i < nodes.length; i++) {
if (hasClass(nodes[i], classname))
ret.push(nodes[i]);
}
return ret;
}
function hasClass(node, className) {
var names = node.className.split(/\s+/);
for (var i = 0; i < names.length; i++) {
if (names[i] == className)
return true;
} return false;
}