实现一个jQuery的API

window.jQuery = function(nodeOrSelector){
let nodes = {}
if(typeof nodeOrSelector === 'string'){
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){
classes.forEach((value)=>{
for (let i = 0; i<nodes.length; i++)
{nodes[i].classList.add(value) //输入一个class名为value,使得在每一个元素节点中加入一个class
}
})
}
nodes.text = function(text){
if(text === undefined){
var texts = []
for(let i = 0; i < nodes.length; i++){
text.push(nodes[i].textContent) //没有输入,则意味着获取文本元素
}
return texts
}else{
for(let i = 0; i < nodes.length; i++){
nodes[i].textContent = text //存在输入值,则意味着设置文本
}
}
}
return nodes
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 直接上代码 上述代码的实现过程:  首先判断nodeOrSelector是不是字符串,是: 在文档返回的nod...
    xiaoxinwan阅读 181评论 0 0
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,060评论 0 2
  • 阮一峰jQuery 不要学jquery mobile 获取某个节点的所有兄弟姐妹 ul>li[id=item$]{...
    tsl1127阅读 377评论 0 2
  • 这是南阳陪你的第15个交易日 南阳昨天手术了,没有复盘,大家见谅。晚上简友发来问候,才意识到,缺少一个交待,谢谢那...
    南阳说阅读 596评论 3 0
  • 亲子日记337篇 时间如流水,正如钟表上的指针不停歇一圈一圈的走着,感叹时间过的太快,也注定了今天又是忙碌的。...
    忆惜_c055阅读 272评论 0 1