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 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。