window.jquery = function(nodeOrSelector){
let nodes = {};
if(typeof nodeOrSelector === 'string'){
//nodes = document.querySelectorAll(nodeOrSelector);//包含node的原型链
let temp = document.querySelectorAll(nodeOrSelector);
for(let i=0;i<temp.length;i++){
nodes[i] = temp[i];
}
nodes.length = temp.length;
}
else if(nodeOrSelector instanceof Node){
nodes = {0:nodeOrSelector,length: 1}
}
nodes.addClass = function(classes){
for(let key in classes){
var value = classes[key];
var methodName = value ? 'add' : 'remove';
for(let i=0;i<nodes.length;i++){
nodes[i].classList[methodName](key);
}
}
}
/*nodes.getText = function(){
var texts = [];
for(let i=0;i<nodes.length;i++){
texts.push(nodes[i].textContent)
}
return texts;
}
nodes.setText = function(text){
for (var i = nodes.length - 1; i >= 0; i--) {
nodes[i].textContent = text;
}
}*/
nodes.text = function(text){
if(text === undefined){
var texts = [];
for (let i = nodes.length - 1; i >= 0; i--) {
texts.push(nodes[i].textContent);
}
return texts;
}else{
for (let i = nodes.length - 1; i >= 0; i--) {
nodes[i].textContent = text;
}
}
}
return nodes;
}
var node2 = jquery('ul > li');
node2.addClass({a:true,b:false,c:true});
node2.text('hi');
实现一个 jQuery 的 API
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...