jQuery会接受一个字符串,拿到这个字符串之后分析这个字符串是字符串还是节点
- 如果是字符串,就找到所有对应的元素,然后放到一个伪数组里面
- 如果是一个节点,就把这个节点放到一个伪数组里面
- 不管给的是字符串还是节点,它都会找到,放到伪数组nodes中,这个时候调用addClass,就会去遍历classes,然后逐个的放到伪数组的每一个项里面
- 设置文本用textContent
- 代码如下
window.jQuery = function(nodeOrSelector){
let 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
}
return nodes
}
var &div = $('div')
$div.addClass('red')
$div.setText('hi')