实现一个jQuery API

实现一个 jQuery 的 API

window.jQuery = ???
window.$ = jQuery

var $div = $('div')
$div.addClass('red') // 可将所有 div 的 class 添加一个 red
$div.setText('hi') // 可将所有 div 的 textContent 变为 hi

实现步骤

一.实现一个函数,判断传进的参数是节点还是选择器,返回一个nodes(数组的形式)

如果typeof nodeOrSelector是string',那么 他就是一个选择器,我们就用document.querySelectorAll来获取所有的元素,返回一个伪数组,然后遍历这个数组把每个value放到nodes里.

如果nodeOrSelector instanceof 是node 那么直接把nodeOrSelector放到nodes里作为nodes[0]

二.实现两个函数addClass()和 setText()

三.把几个函数封装一下

到这里就实现了我们需要的功能

但是我们还可以把这个API优化一下,让addClass()可以同时增加几个className,把setText变成text(既能getText,又能setText)

addClass()传进一个数组,获取数组的每个value,然后遍历nodes,为nodes[i]添加class ---value

text(),判断参数是不是undefined,如果是undefine的就是要getText,否则就是setText

实现代码如下:

  

 

  

 

posted @ 2018-04-22 15:48  沐雪  阅读(309)  评论(0)    收藏  举报