首页 > 代码库 > 封装一个通用选择器的简单写法
封装一个通用选择器的简单写法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>j</title>
</head>
<body>
<div class="box">
<div class="cute">11111</div>
<div class="hh">aaaa</div>
<div class="hh">bbbb</div>
<div id="test">ccccc</div>
<p>标签名实验</p>
</div>
</body>
<script>
function $(selector){ // 对传入的selector进行判断
if(selector.charAt(0)=="."){//class选择器的查找
if(document.getElementsByClassName){
return document.getElementsByClassName(selector.slice(1));
}
else{//IE6,7以及不支持getElementsByClassName方法的浏览器的兼容写法
var results = [];
var elems = document.getElementsByTagName("*");
for(var i = 0; i<elems.length;i++){
// str.indexOf(str2)
if(elems[i].className.indexOf(selector.slice(1))!=-1){
// result的长度会随着添加而变长,也保证数组不覆盖添加
results[results.length] = elems[i];
}
}
return results;
}
}
else if(selector.charAt(0)=="#"){//id选择器的查找
return document.getElementById(selector.slice(1));
}
// 标签名获取
else {//查找标签选择器
return document.getElementsByTagName(selector);
}
}
$("#test").style.background = "red";
$(".hh")[0].style.background = "blue";
$("p")[0].style.background = "green";
</script>
</html>
封装一个通用选择器的简单写法