实现一个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
实现代码如下:


浙公网安备 33010602011771号