小編給大家分享一下JS如何仿JQuery選擇器功能,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站制作與策劃設(shè)計(jì),盱眙網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:盱眙等地區(qū)。盱眙做網(wǎng)站價(jià)格咨詢:18982081108
JQuery作為應(yīng)用最廣的JS庫(kù),其最強(qiáng)大的功能之一就是幾乎涵蓋所有方法的且代碼十分簡(jiǎn)短的選擇器功能,我們也可用自己的代碼實(shí)現(xiàn)此功能,代碼邏輯、使用方法與JQuery一致
function ZQuery(arg){ this.elements = []; //存東西 this.domString = ''; //保存字符串標(biāo)簽 if(typeof arg=='function'){ //DOMReady DOMReady(arg); }else if(typeof arg=='string'||arg instanceof String){ if(arg.indexOf('<')!=-1){ this.domString = arg; }else{ //獲取元素 this.elements = getEle(arg); this.length = this.elements.length; } }else{ //原生對(duì)象-》ZQuery對(duì)象 this.elements.push(arg); this.length = this.elements.length; } } ZQuery.prototype.css = function(name,value){ if(arguments.length==2){ //設(shè)置一個(gè)樣式 for(var i=0;i=200&&oAjax.status<300||oAjax.status==304){ json.success&&json.success(oAjax.responseText); }else{ json.error&&json.error(oAjax.status); } } }; } function jsonp(json){ json = json||{}; if(!json.url)return; json.timeout = json.timeout||15000; json.cbName = json.cbName||'cb'; json.data = json.data||{}; json.data[json.cbName] = 'show'+Math.random(); json.data[json.cbName] = json.data[json.cbName].replace('.',''); json.timer = setTimeout(function(){ window[json.data[json.cbName]] = function(res){ oHead.removeChild(oS); json.error&&json.error('網(wǎng)絡(luò)超時(shí)!'); } },json.timeout); window[json.data[json.cbName]] = function(res){ clearTimeout(json.timer); oHead.removeChild(oS); json.success&&json.success(res); } var oHead = document.getElementsByTagName('head')[0]; var oS = document.createElement('script'); oS.src = json.url+'?'+json2url(json.data); oHead.appendChild(oS); } function getStyle(obj,sName){ return (obj.currentStyle||getComputedStyle(obj,false))[sName]; } function addEvent(obj,sEv,fn){ if(obj.addEventListener){ obj.addEventListener(sEv,function(ev){ var oEvent = ev||event; if(fn.call(obj,oEvent)==false){ oEvent.cancelBubble = true; oEvent.preventDefault&&oEvent.preventDefault(); } },false); }else{ obj.attachEvent('on'+sEv,function(){ var oEvent = ev||event; if(fn.call(obj,oEvent)==false){ oEvent.cancelBubble = true; return false; } }); } } function DOMReady(fn){ if(document.addEventListener){ addEvent(document,'DOMContentLoaded',function(){ fn&&fn(); }); }else{ addEvent(document,'onreadystatechange',function(){ if(document.readyState=='complete'){ fn&&fn(); } }); } } function getByClass(oParent,sClass){ if(oParent.getElementsByClassName){ return oParent.getElementsByClassName(sClass); }else{ var aResult = []; var aEle = oParent.getElementsByTagName('*'); var re = new RegExp('\\b'+sClass+'\\b','g'); for(var i=0;i 以上是“JS如何仿JQuery選擇器功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前題目:JS如何仿JQuery選擇器功能
網(wǎng)頁(yè)網(wǎng)址:http://weahome.cn/article/jjcjoi.html