Java程序员的JavaScript学习笔记(8——jQuery选择器)

来源:互联网 发布:每年车祸数据统计 编辑:程序博客网 时间:2024/04/30 18:33

计划按如下顺序完成这篇笔记:
 

  1. Java程序员的JavaScript学习笔记(1——理念)
  2. Java程序员的JavaScript学习笔记(2——属性复制和继承)
  3. Java程序员的JavaScript学习笔记(3——this/call/apply)
  4. Java程序员的JavaScript学习笔记(4——this/闭包/getter/setter)
  5. Java程序员的JavaScript学习笔记(5——prototype)
  6. Java程序员的JavaScript学习笔记(6——面向对象模拟)
  7. Java程序员的JavaScript学习笔记(7——jQuery基本机制)
  8. Java程序员的JavaScript学习笔记(8——jQuery选择器)
  9. Java程序员的JavaScript学习笔记(9——jQuery工具方法)
  10. Java程序员的JavaScript学习笔记(10——jQuery-在“类”层面扩展)
  11. Java程序员的JavaScript学习笔记(11——jQuery-在“对象”层面扩展)
  12. Java程序员的JavaScript学习笔记(12——jQuery-扩展选择器)
  13. Java程序员的JavaScript学习笔记(13——jQuery UI)
  14. Java程序员的JavaScript学习笔记(14——扩展jQuery UI)

这是笔记的第8篇,聊聊jQuery的选择器。


作者博客:http://blog.csdn.net/stationxp

作者微博:http://weibo.com/liuhailong2008

转载请取得作者同意


最近工作上的事情很忙,有几天没有更新笔记了。
终于今天又抽空能安静下来写点东西。
爪机离线,全凭记忆,今天的笔记没有代码了。
好在对jQuery选择器,大家熟练使用即可,理解其原理的必要性不是特别大,除非自己需要实现类似的功能,或者需要扩展jQuery的选择器。

Topic 1:选择器的四种类型
其实是传入$()函数的四种参数类型,分别是:
* Dom对象,识别方法是有nodeType属性。
* 字符串:字符串的话分两种情况,有可能是css选择器表达式,有几个正则表达式匹配;也有可能是个html字符串。
* 数组,这个,是不是只有jQuery自己clone,pushStack时这样用?
* 函数,即常用的$(function(){ /* my code here */ })。

Topic 2:jQuery是怎样存储查找到的对象的?
用 this[0],this[1]这种方式,可以理解为内部的存储结构是数组。

Topic 3:find方法是如何实现的?
在看源码之前,我也觉得这个好神奇,浏览器应该只给提供了document.getElementById/Name/Tag之类的。一直猜测jQuery和浏览器厂商有一腿,回头一想,不太可能,不可能跟每个浏览器厂商都有一腿。
看源码后,发现:真的就是在document.getElementById/Name/Tag基础上配合合理的算法实现的。
“傻”办法不傻,其他人还在犹豫行不行的时候,人家已经做出来了。
大致分两步,先定位,缩小范围;然后过滤。

好了,今天就到这里吧。

0 0
原创粉丝点击