window.jQuery = ???
window.$ = jQuery
var ('div')
div.setText('hi') // 可將所有 div 的 textContent 變?yōu)?hi民泵。
?槽畔?栈妆?是什么呢。
答案:
function(nodeOrSelector){
var nodes ={}
if(nodeOrSelector === 'string'){
var temp =document.querySelectorAll(nodeOrSelector)
for(let i = 0; i<temp.length; i++){
nodes[i] = temp[i]
}e
node.length = temp.length
}else if(nodeOrSelector instanceof Node){
nodes ={
0:nodeOrSelector
length:1
}
}
nodes.addClass = function(classes){
classes.forEach((value) =>{
for(let i = 0 ; i<nodes.length; i++){
nodes[i] .classList.add(value)
}
})
}
nodes.setText = function(text){
for(let i = 0; i<nodes.length; i++){
nodes[i].textContent =text
}
}
}
實(shí)現(xiàn)的過程厢钧。
聲明一個(gè)jQuery函數(shù)鳞尔,函數(shù)里面我們首先聲明了一個(gè)空的nodes對(duì)象。先判斷傳進(jìn)來的參數(shù)是節(jié)點(diǎn)還是選擇器早直。如果為選擇器則使用dom對(duì)象的方法獲取所有寥假。遍歷這個(gè)對(duì)象,把值賦給nodes霞扬。如果傳進(jìn)來的是節(jié)點(diǎn)昧旨,我們就直接使吧節(jié)點(diǎn)裝進(jìn)nodes這個(gè)對(duì)象中。然后我們?cè)诮onodes這個(gè)對(duì)象加我們需要的屬性祥得。
其實(shí)jQuery就一個(gè)函數(shù)兔沃,里面封裝很多方法,我們通過這些方法來獲取節(jié)點(diǎn)(元素)级及,并對(duì)我們獲取的節(jié)點(diǎn)進(jìn)行各種操作乒疏。就是圖一個(gè)簡(jiǎn)潔方便。其內(nèi)涵還是原生的js饮焦。