详解jquery选择器的原理


Posted in jQuery onAugust 01, 2017

详解jquery选择器的原理

html部分

<!doctype html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8" /> 
  <title>Document</title> 
  <script src="js/minijquery.js"></script> 
</head> 
<body> 
  <div class="one">1</div> 
  <div class="two">2</div> 
</body> 
<script> 
  var result = $("div"); 
  console.log(result); 
  alert($('div').size()); 
</script> 
</html> js

js部分

(function(){ 
  //暴露外部的引用 
  var jQuery = window.jQuery = window.$ = function(selector){ 
    return new jQuery.fn.init(selector); 
  } 
   
  //添加原型事件 
  jQuery.fn = jQuery.prototype = { 
    // 
    init:function(selector){ 
      var element = document.getElementsByTagName(selector); 
      Array.prototype.push.apply(this,element); 
      return this; 
    }, 
    myjQuery:"the test one", 
    length:0, 
    size:function(){ 
      return this.length; 
    } 
  } 
   
  //将init的原型引用成jQuery的原型 
  jQuery.fn.init.prototype = jQuery.fn; 
   
})();

我用我的理解解释一下,就是jquery原型里面有一个init初始化的方法,将传入的值进行解析,比如传入的id还是class还是标签名。然后通过相应的方法返回数组型对象。既可以通过对象直接调用方法,也可以使用数组的length。

以上就是jQuery 原理的分析,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

jQuery 相关文章推荐
jquery中关于bind()方法的使用技巧分享
Mar 30 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
jQuery 实现双击编辑表格功能
Jun 19 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
基于jquery实现多选下拉列表
Aug 02 jQuery
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
jQuery鼠标滑过横向时间轴样式(代码详解)
Nov 01 jQuery
jQuery上传插件webupload使用方法
Aug 01 #jQuery
关于jquery form表单序列化的注意事项详解
Aug 01 #jQuery
简述jQuery Easyui一些用法
Aug 01 #jQuery
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
Aug 01 #jQuery
jquery easyui如何实现格式化列
Jul 30 #jQuery
jQuery dateRangePicker插件使用方法详解
Jul 28 #jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 #jQuery
You might like
用php+mysql一个名片库程序
2006/10/09 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
jQuery 插件仿百度搜索框智能提示(带Value值)
2013/01/22 Javascript
基于javascipt-dom编程 table对象的使用
2013/04/22 Javascript
JavaScript实现为指定对象添加多个事件处理程序的方法
2015/04/17 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
2018/09/25 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Django的分页器实例(paginator)
2017/12/01 Python
Python深度优先算法生成迷宫
2018/01/22 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
使用Python中的reduce()函数求积的实例
2019/06/28 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
Python Selenium库的基本使用教程
2021/01/04 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
公司业务主管岗位职责
2013/12/07 职场文书
校园公益广告语
2014/03/13 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
机械专业求职信范文
2014/07/15 职场文书
2014老师三严三实对照检查材料思想汇报
2014/09/18 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
药房管理制度范本
2015/08/06 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
Redis数据结构之链表与字典的使用
2021/05/11 Redis