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

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

1.    理念。

2.    属性复制和继承。

3.    this/call/apply。

4.    闭包/getter/setter。

5.    prototype。

6.    面向对象模拟。

7.    jQuery基本机制。

8.    jQuery选择器。

9.    jQuery工具方法。

10.    jQuery-在“类”层面扩展。

11.    jQuery-在“对象”层面扩展。

12.    jQuery-扩展选择器。

13.    jQuery UI。

14.    扩展jQuery UI。

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

最近工作上的事情很忙,有几天没有更新笔记了。

终于今天又抽空能安静下来写点东西。

爪机离线,全凭记忆,今天的笔记没有代码了。

好在对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基础上配合合理的算法实现的。

“傻”办法不傻,其他人还在犹豫行不行的时候,人家已经做出来了。

大致分两步,先定位,缩小范围;然后过滤。

好了,今天就到这里吧。

时间: 2024-10-09 05:59:28

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

Java程序员的JavaScript学习笔记 (目录)

终于完结了,历时半个月. 内容包括: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源码级解析. jQuery EasyUI源码级解析. Java程序员的JavaScript学习笔记(1——理念) Java程序员的JavaScript学习笔记(2——属性复制和继承) Java程序员的JavaScript学习笔记(3——this/call/apply) Java程序员的JavaScript学习笔记(4——this/闭包/getter/setter) Java

Java程序员的JavaScript学习笔记(14——扩展jQuery UI)

计划按如下顺序完成这篇笔记: Java程序员的JavaScript学习笔记(1--理念) Java程序员的JavaScript学习笔记(2--属性复制和继承) Java程序员的JavaScript学习笔记(3--this/call/apply) Java程序员的JavaScript学习笔记(4--this/闭包/getter/setter) Java程序员的JavaScript学习笔记(5--prototype) Java程序员的JavaScript学习笔记(6--面向对象模拟) Java程序员

Java程序员的JavaScript学习笔记(汇总目录)

终于完结了,历时半个月. 内容包括: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源码级解析. jQuery EasyUI源码级解析. Java程序员的JavaScript学习笔记(1--理念) Java程序员的JavaScript学习笔记(2--属性复制和继承) Java程序员的JavaScript学习笔记(3--this/call/apply) Java程序员的JavaScript学习笔记(4--this/闭包/getter/setter) Java

Java程序员的JavaScript学习笔记(5——prototype和Object内置方法)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第5篇,聊聊prototype.内置的Object对象和Object对象的属性和

Java程序员的JavaScript学习笔记(2——属性复制和继承)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. this/闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第2篇,聊聊属性复制和继承的事情.非常基础,同样,也非常重要. 一切皆

Java程序员的JavaScript学习笔记(6——面向对象模拟)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第6篇,对前面5篇做一个总结,聊聊JavaScript在面向大型复杂任务时候,如

Java程序员的JavaScript学习笔记(7——jQuery基本机制)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第7篇,聊聊jQuery基本机制,学习的同时,我们试图实现一个缩略版本的jQue

Java程序员的JavaScript学习笔记(4——闭包/getter/setter)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第4篇,聊聊闭包/getter/setter,看看JavaScript中的变量作

Java程序员的JavaScript学习笔记(1——理念)

计划按如下顺序完成这篇笔记: 理念. 关于属性复制. this和闭包. 应该熟悉的语法习惯. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 每一篇也许几句话,也许长篇大论.短的可能是因为概念难理解,需要慢慢消化:长的,可能是因为内容多而且水,但不提又不行. 现在开始第1篇:理念. 众

Java程序员的JavaScript学习笔记(3——this/call/apply)

计划按如下顺序完成这篇笔记: 理念. 属性复制和继承. this/call/apply. 闭包/getter/setter. prototype. 面向对象模拟. jQuery基本机制. jQuery选择器. jQuery工具方法. jQuery-在"类"层面扩展. jQuery-在"对象"层面扩展. jQuery-扩展选择器. jQuery UI. 扩展jQuery UI. 这是笔记的第3篇,聊聊JavaScript中的this,还有两种调用函数的特殊方式:cal