自己写一个小小的jQuery功能

Posted David凉宸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自己写一个小小的jQuery功能相关的知识,希望对你有一定的参考价值。

现在应该有许多人在学习jQuery吧,但是去探索jQuery原理的是很少一部分人
那么我们就简单来自己写一个jQuery吧

新建jQuery.js文件编写如下代码

class jQuery {
  constructor(selector) {
    const nodes = document.querySelectorAll(selector)
    const length = nodes.length
    for (let i = 0; i < length; i++) {
      this[i] = nodes[i]
    }
    this.length = length
    this.selector = selector
  }
  get (index) {
    return this[index]
  }
  each (fn) {
    for (let i = 0; i < this.length; i++) {
      const node = this[i]
      fn && fn(node, i)
    }
  }
  on (type, fn) {
    for (let i = 0; i < this.length; i++) {
      const node = this[i]
      fn && node.addEventListener(type, fn)
    }
  }
}


html文件中将jQuery.js引入就可以使用了

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <div class="box">
    <p class="head">我是头部</p>
    <p>我是身体</p>
    <p>我是尾部</p>
  </div>
  <script src="./jquery.js"></script>  // 引入jQuery
  <script>
    const $=new jQuery('p')
    console.log('获取全部:',$);
    console.log('get方法:',$.get(0));
    $.each((item,index)=>{
      console.log('each方法',item);
    })
    $.on('click',()=>{
      console.log(1);
    })
  </script>
</body>
</html>

以上是关于自己写一个小小的jQuery功能的主要内容,如果未能解决你的问题,请参考以下文章

第一次写小小小小小游戏, 扫雷

Kendo UI使用小小记

Java技术jQuery自定义插件开发实践

jQuery-mobilevalidate使用 的一些心得,小小总结

合并来自 2 个 jQuery 片段的功能

javascript代码的小小重构