封装 – 原生js选择器
简单的封装一个选择器函数(带兼容IE)
/* 封装一个选择器 */
function seletor(param, obj) {
obj = obj || document;
//根据id名查找元素
if (param[0] === "#")
// console.log("param",param.charAt(0))
return document.getElementById(param.slice(1));
// 根据指定类名查找元素
if (param.indexOf(".") === 0)
return getByClass(param.substring(1), obj);
//根据标签名查找
return obj.getElementsByTagName(param);
}
//类名查找元素实现方法 -- 兼容一下getElementsByClassName
function getByClass(className, obj) {
obj = obj || document;
if (obj.getElementsByClassName)
return obj.getElementsByClassName(className);
var result = [];
var tags = obj.getElementsByTagName("*");
for (var i = 0, len = tags.length; i < len; i++) {
var classNames = tags[i].className.split(" "); // 获取当前遍历元素的类名
for (var j = 0, l = classNames.length; j < l; j++) {
if (className === classNames[j]) { // 找到所需要进行查找的一个元素
result.push(tags[i]);
console.log("result",result)
break;
}
}
}
return result;
}