简单手写一个jqurey
1 /** 2 * @description 手写jquery 3 * @author ddxldxl 4 */ 5 class Jquery { 6 constructor(selector) { 7 //遍历dom树 8 let res = document.querySelectorAll(selector) 9 let length = res.length 10 for( let i=0; i<length; i++) { 11 this[i] = res[i] 12 } 13 this.length = length 14 this.elements = res 15 } 16 17 get(index) { 18 return this[index] 19 } 20 21 each(fn) { 22 for( let i=0; i<this.length; i++ ) { 23 let elment = this[i] 24 fn(elment) 25 } 26 } 27 28 on(type, fn) { 29 return this.each(elem => { 30 elem.addEventListener(type, fn, false) 31 }) 32 } 33 } 34 35 //原型扩展 36 Jquery.prototype.dialog = function (){ 37 alert(123) 38 } 39 40 //继承扩展 41 class myJquery extends Jquery { 42 constructor(selector) { 43 super(selector) 44 } 45 46 addClass(){ 47 48 } 49 50 style(){ 51 52 } 53 }
分类:
javascript
标签:
javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~