zoukankan      html  css  js  c++  java
  • 模拟jquery的$()选择器的实现

    <html>
    <head>
    </head>
    <body>
    <div id="div1">div1</div>
    
    <div class=".div2">aaaa</div>
    <div class=".div2">aaaa</div>
    
    <p>p1</p>
    <p>p2</p>
    
    <script>
    
    var TQObject = function(){
    	this.data=[];
    }
    
    TQObject.prototype = {}
    
    var $=function(selecter)
    {
    	this.tqOjbect = new TQObject();
    	if (selecter.substring(0,1) == "#") {
    		var elem = document.getElementById(selecter.substring(1));
    		this.tqOjbect.data.push(elem);
    	} else if (selecter.substring(0,1) == ".") {
    		var elems = document.getElementsByTagName("*");
    		console.log(elems);
    		var reg  = new RegExp("(^|\s)" + selecter.substring(1) + "($|\s)");
    		console.log(reg);
    		for (var i=0;i<elems.length;i++) {
    			if (reg.test(elems[i].className.substring(1))) {
    				this.tqOjbect.data.push(elems[i]);
    			}
    		}
    	} else {
    		var elems = document.getElementsByTagName(selecter);
    		this.tqOjbect.data.push(elems);
    	}
    	return tqOjbect;
    }
    
    window.onload=function(){
    	var ele1 = $("#div1");
    	var ele2 = $(".div2");
    	var ele3 = $("p");
    
    	console.log(ele2);
    }
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    TDD
    算法与数据结构 文档 1 洋洋洋传
    编程的专精度
    python小课
    有时心情舒畅时打个代码心里都是默默地同步输出...
    同时可以运行在JVM上的Kotlin~枚举和判定以及数据对象的写法总结
    map
    multiset
    set
    priority_queue
  • 原文地址:https://www.cnblogs.com/lixiuran/p/6171071.html
Copyright © 2011-2022 走看看