选择器的实现原理
- 选择器的核心原理就在于DOM数据的处理上,而且对于DOM标准里面元素的选择之后两个核心的操作
- $ID:document.getElementById()
- 元素:document.getElementByTagName()
- 实际上在整个基础选择器之中,"*"是一个非常重要的实现过程,而且根据指定的样式选择,本质上来讲,就是进行整体元素的便利.
分析"*"的操作
<html>
<head>
<meta charset="UTF-8">
<title>jquery项目</title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<script type="text/javascript">
window.onload=function(){
var rootEle = document.getElementsByTagName("html")[0];
getAll(rootEle);
for(var x =0; x < allEle.length;x++){
allEle[x].setAttribute("class","init");
}
}
var allEle = new Array();
var foot = 0;
function getAll(element){
if(element.hasChildNodes()){
var childList = element.childNodes;
for(var x =0; x < childList.length;x++){
if(childList[x].nodeType == 1){
getAll(childList[x]);
}
}
}
allEle[foot ++] = element;
}
</script>
</head>
<body>
<div class="word">我爱这个世界!</div>
<div>生活还需继续!</div>
<div class="hello">生活不会偏袒你!</div>
</body>
</html>
- 如果"*"的形式出现了,实际上对于指定的元素的选择也可以轻松实现了
- 选择指定的几个元素设置样式
window.onload=function(){
var rootEle = document.getElementsByTagName("html")[0];
getAll(rootEle);
for(var x =0; x < allEle.length;x++){
if(allEle[x].nodeName == "P"){
allEle[x].setAttribute("class","init");
}
}
}