window.jQuery=function(nodeOrSelector){
//1 新建一个对象nodes
var nodes = {};
//2 如果nodeOrSelector传入的是字符串(选择器),获取对应的所有的元素放到nodes中(伪对象);
//2 如果nodeOrSelector传入的是一个节点,放到则把nodeOrSelector放到nodes伪数组的第一个值中
if (typeof nodeOrSelector === 'string') {
var temp = document.querySelectorAll(nodeOrSelector);
for (var i = 0; i < temp.length; i++) {
nodes[i] = temp[i];
}
nodes.length = temp.length;
} else if (nodeOrSelector instanceof Node) {
nodes = {
0: nodeOrSelector,
length: 1
};
}
//3 在nodes中添加一个addClass的属性
nodes.addClass = function(classes) {
for (var i = 0; i < nodes.length; i++) {
nodes[i].classList.add(classes);
}
};
//4 在nodes中添加一个text的属性,当text没有值时,是获取文本节点,中间有值时是设置文本节点
nodes.text = function(text) {
if(text===undefined){
texts=[];
for (var i = 0; i < nodes.length; i++) {
texts.push(nodes[i].textContent);
}
return texts;
} else {
for (var i = 0; i < nodes.length; i++) {
nodes[i].textContent = text;
}
}
};
return nodes;
};
window.$ = jQuery;
var $div = $('div');
$div.addClass('red');
$div.text('Hi');