[jQuery]之封装函数
2019-06-21 本文已影响0人
是苏菇凉呀
本文介绍封装实现addClass()与text()方法。
window.jQuery = function (nodeOrSelector) {
let nodes = {};
if (typeof nodeOrSelector === 'string') {
node = document.querySelectorAll(nodeOrSelector); //伪数组
for(let i = 0; i < node.length; i++) {
nodes[i] = node[i];
}
nodes.length = node.length;
} else if (nodeOrSelector instanceof Node) {
nodes = { '0': nodeOrSelector, length: 1 } //跟上面保持一致
console.log(nodes)
}
nodes.addClass = function (classes) {
classes.forEach(element => {
for (let i = 0; i < nodes.length; i++) {
nodes[i].classList.add(element)
}
});
}
nodes.text = function (text) {
if (text === undefined) {
var texts = [];
for (let i = 0; i < nodes.length; i++) {
texts.push(nodes[i].innerText);
}
return texts;
} else {
for (let i = 0; i < nodes.length; i++) {
nodes[i].innerText = text;
}
}
}
return nodes;
}
总结:jQuery中addClass()与text()方法的本质还是调用了DOM的API