jQuery一段代碼的實(shí)現(xiàn)過程

jQuery就是一個函數(shù),接收一個參數(shù),然后返回一個方法對象來操作DOM。

window.jQuery = function (nodeorSelector) {
let nodes = {};
if (typeof nodeorSelector === 'string') {
    let temp = document.querySelectorAll(nodeorSelector);
    for (let i = 0; i < temp.length; i++) {
        nodes[i] = temp[i];
    }
    nodes.length = temp.length;
} else if (nodeorSelector instanceof Node) {
    nodes = {
        0: nodeorSelector,
        length: 1
    }
}
nodes.addClass = function (classes) {
    for (let i = 0; i < nodes.length; i++) {
        nodes[i].classList.add(classes)
    }
}
nodes.setText = function (text) {
    if (text === undefined) {
        let texts = [];
        for (let i = 0; i < nodes.length; i++) {
            texts.push(nodes[i].textContent)
        }
        return texts;
    } else {
        for (let i = 0; i < nodes.length; i++) {
            nodes[i].textContent = text;
        }
    }
}
return nodes;
}
window.$ = jQuery;
var $div = $('div');
$div.addClass('red');
$div.setText('hi')

上述代碼將一個函數(shù)賦值給window.jquey,然后更改名字為$,
通過$('xxx').方法就可以調(diào)用window.jquey里面的方法,不用擔(dān)心沖突等問題,使用也更方便一些

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前端開發(fā)者丨h(huán)ttp請求 https:www.rokub.com 前言見解有限, 如有描述不當(dāng)之處, 請幫忙指出,...
    麋鹿_720a閱讀 11,280評論 11 31
  • 一:什么是閉包?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質(zhì)上,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 10,029評論 1 52
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性。 1....
    LaBaby_閱讀 1,271評論 0 1
  • 函數(shù)和對象 1、函數(shù) 1.1 函數(shù)概述 函數(shù)對于任何一門語言來說都是核心的概念。通過函數(shù)可以封裝任意多條語句,而且...
    道無虛閱讀 4,944評論 0 5
  • 花落方知輕風(fēng)晚 亭山月影芳菲殘 莫愁腸 新荷連天碧柳妝初成 蟬鳴驟減夜聲靜 流螢隱匿弄蓮心 不知味 梁間燕去楓火照...
    奏世華章閱讀 298評論 0 0

友情鏈接更多精彩內(nèi)容