實現乙個jQuery的API

2021-08-31 06:55:01 字數 1226 閱讀 2364

一.首先:

var $div = $(『div』)

$div.addclass('red') // 可將所有 div 的 class 新增乙個 red

$div.settext('hi') // 可將所有 div 的 textcontent 變為 hi

jquery本質上就是乙個建構函式,我們需要給它輸入引數,就可以返回對應引數的jquery例項。

window.jquery=function (){}
(1)

jquery的核心思想就是先選擇後處理,jquery建構函式的引數,主要是css選擇器。選擇乙個引數,比如,需求1 是讓

的class=『red』, 其中』div』就是要傳入的引數。

(2)window.jquery=function (nodeorselector)

let temp=document.queryselectorall(nodeorselector)

for(let i=0;i使用document.queryselectorall, 因為它遵循的是css選擇器的規則,可以幫助我們獲取乙個或者多個元素節點,用它確定選中引數的結果,在html文件中會獲取到多個結果,這個結果集是乙個偽陣列,遍歷這個偽陣列,將遍歷的結果存放在nodes物件中。

(3)window.jquery=function (nodeorselector)

let temp=document.queryselectorall(nodeorselector)

for(let i=0;i獲取到這個nodes物件之後,通過nodes建立乙個建構函式,這個函式中的classname,就是在window.jquery使用addclass這個屬性時要輸入的引數。在這個函式內部建立乙個for迴圈,

遍歷nodes,每一輪給nodes中對應的節點新增乙個classname。

就可以實現 需求1了。

(4)window.jquery=function (nodeorselector)

let temp=document.queryselectorall(nodeorselector)

for(let i=0;i與需求1 同樣的步驟,nodes.settext接受乙個引數text,在這個函式內部建立乙個for迴圈,遍歷nodes每一輪給nodes中對應的節點新增乙個text。

這樣兩個api就可以實現這兩個需求了。它們可以同時給1個或多個元素節點,新增class和textcontent。

實現乙個jquery的api

新增多個classname的函式 nodes.addclass function classes 定義乙個偽陣列,用來存要操作的節點 if nodeorselector string 如果傳的是字串,則用選擇器去查詢 如果傳入的值是節點,返回的nodes也寫成偽陣列的形式 nodes.addclas...

如何使用Golang實現乙個API閘道器

在我們的配置裡邊也應該是支援多個節點配置的。複製 複製 upstreams 上游伺服器 trim path 剔除路徑,因為上游伺服器中其實並不包含 jiqiren 這段的,所以要踢掉這塊 is auth 是否是授權鏈結 其實至此的上游的鏈結已經配置好了,下面我們來配置一下授權相關的配置。現在我實現的...

乙個API攔截的例子

閒來無事,做乙個api攔截的簡單程式,目標是攔截exploer.exe的createprocess.當開啟桌面程式時,執行自定義的 首先需要確認的是,explorer.exe建立程序是用了什麼函式,建立程序自然想到用createprocess createprocessa,createprocess...