详解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中each循环的简单回滚操作
May 05 jQuery
JQuery实现定时刷新功能代码
May 09 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
jQuery ajax调用webservice注意事项
Oct 08 jQuery
jquery学习笔记之无new构建详解
Dec 07 jQuery
手写简单的jQuery雪花飘落效果实例
Apr 22 jQuery
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
jQuery实现ajax的嵌套请求案例分析
Feb 16 jQuery
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
jQuery pager.js 插件动态分页功能实例分析
Aug 02 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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
php auth_http类库进行身份效验
2009/03/19 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
smarty实现多级分类的方法
2014/12/05 PHP
php使用PDO操作MySQL数据库实例
2014/12/30 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
纯js模拟div层弹性运动的方法
2015/07/27 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
使用bootstrap插件实现模态框效果
2017/05/10 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
JS手写一个自定义Promise操作示例
2020/03/16 Javascript
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
django如何自己创建一个中间件
2019/07/24 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python3 map函数和filter函数详解
2019/08/26 Python
线程安全及Python中的GIL原理分析
2019/10/29 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
大学生四个方面的自我评价
2013/09/19 职场文书
2015年工程部工作总结
2015/04/30 职场文书
十二生肖观后感
2015/06/12 职场文书
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis