mini兩門版,自己mini版jquery編寫

 2023-11-07 阅读 24 评论 0

摘要:(function(){var jq = function(selector){//selector = "#apple";return new jq.fn.init(selector);}jq.fn = {init:function(selector){//選擇器設置: #id 和 tag標簽 選擇器兩種if(selector.substr(0,1)==='#'){//判斷是否有"
(function(){var jq = function(selector){//selector = "#apple";return new jq.fn.init(selector);}jq.fn = {init:function(selector){//選擇器設置: #id  和 tag標簽 選擇器兩種if(selector.substr(0,1)==='#'){//判斷是否有"#號"//去除selector的“#號”var flag = selector.substr(1,selector.length-1);var elem = document.getElementById(flag);//this代表jquery實例化出來的對象//jquery對象 與 dom對象 做合并this.length = 1;this[0] = elem;}else{var elems = document.getElementsByTagName(selector);//遍歷elems,獲得每個dom對象分別存儲this里邊for(var i=0; i<elems.length; i++){this[i] = elems[i];}this.length = elems.length;}},css:function(k,v){//this代表調用該方法的當前對象(jquery對象)//this[0].style[k] = v;//遍歷當前的jquery對象,為每個具體dom對象設置css樣式for(var i=0; i<this.length; i++){this[i].style[k] = v;}},attr:function(k,v){for(var i=0; i<this.length; i++){this[i].setAttribute(k,v);}},each:function(callback){//遍歷jquery對象,使得每個dom對象都執行一次callbackfor(var i=0; i<this.length; i++){//this[i]//callback();//callback.call(函數內部this的指引,函數形參,形參,形參);//callback函數隨著for循環執行了多次,//每次執行的時候內部this都指向“this[i]的dom對象”callback.call(this[i],i,this[i]);}}}//設置init()構造函數通過原型prototype方式繼承jq.fn()//這樣new init()的對象不僅可以方法init內部成員,還可以方法fn的成員jq.fn.init.prototype = jq.fn;//給jquery聲明外部使用接口變量window.$ = jq;
})();

?

轉載于:https://www.cnblogs.com/yexiangwang/p/4976310.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/167744.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息