第二章 jQuery技术解密 (七)

2.4.5 Sizzle 构造器

在 jQuery.fn.init() 构造器中,通过调用 jQuery(context).find(selector) 函数来解析并匹配 DOM 元素。jQuery.find() 函数实际上是引用 Sizzle() 函数,而 Sizzle() 函数仅是 Sizzle 引擎的构造器,它主要调用 Sizzle.find() 函数在 DOM 文档树中查找与 CSS 语法相匹配 DOM 的元素节点的集合。jQuery
名字中 Query 的意义就体现在这里。下面我们来分析一下 Sizzle 构造器函数。该函数是整个 Sizzle 引擎的入口。

2.4.6 Sizzle 选择器

在 jQuery 构造器一节中,我们介绍了 init() 构造函数处理选择器字符串的第四种情况,截取代码如下所示。

}else

// 第四种情况,处理 jQuery(expression, [context]),

// 例如,$("div .red") 的表达式字符串

return jQuery( context ).find(selector);

在这里,jQuery 调用了 jQuery 对象的 find() 方法来处理选择器字符串。find() 方法的代码如下所示。

时间: 2024-09-21 03:21:41

第二章 jQuery技术解密 (七)的相关文章

第二章 jQuery技术解密(一)

2.2 jQuery 原型技术分解 任何复杂的技术都是从最简单的问题开始的,如果你被 jQuery 几千行庞杂结构的源代码所困惑,那么建议你阅读本节内容,我们将探索 jQuery 是如何从最简单的问题开始,并逐步实现羽翼渐丰的演变过程,从 jQuery 核心技术的还原过程来理解 jQuery 框架的搭建原理. 2.2.1 起源 -- 原型继承 用过 JavaScript 的读者都会明白,在 JavaScript 脚本中到处都是函数,函数可以归置代码段,把相对独立的功能封装在一个函数包中.函数也可

第二章 jQuery技术解密 (二)

2.2.6 延续 -- 迭代器 在 jQuery 框架中,jQuery 对象是一个很奇怪的概念,具有多重身份,所以很多初学者一听说 jQuery 对象就感觉很是不解,误以为它是 John Resig 制造的新概念.我们可以对jQuery 对象进行如下分解. 第一,jQuery 对象是一个数据集合,它不是一个个体对象.因此,你无法直接使用 JavaScript 的方法来操作它. 第二,jQuery 对象实际上就是一个普通的对象,因为它是通过 new 运算符创建的一个新的实例对象.它可以继承原型方法

第二章 jQuery技术解密 (四)

2.3.4 生成 DOM 元素 jQuery.fn.init() 构造函数能够构建 jQuery 对象,并把匹配的 DOM 元素存储在 jQuery 对象内部集合中.jQuery.fn.init() 构造函数可以接收单个的 DOM 元素,也可以接收 DOM 集合.如果接收的是字符串型 ID 值,则直接在文档中查找对应的 DOM 元素,并把它传递给 jQuery 对象:如果接收的是字符串型 HTML 片段,则需要把这个字符串片段生成 DOM 元素.下面我们将重点分析 jQuery 是如何把 HTM

第二章 jQuery技术解密 (六)

2.4 解析 jQuery 选择器引擎 Sizzle jQuery 从 1.3 版本开始,使用了新的选择器引擎 Sizzle(官方网址 http://sizzlejs.com) .Sizzle 是 jQuery 作者 John Resig 开发的 DOM 选择器引擎 (Dom Selector Engine),速度号称业界第一.而且它有一个重要的特点就是 Sizzle 是完全独立于 jQuery 的,如果用户不想用 jQuery ,还可以只用 Sizzle . Sizzle 选择器引擎目前成为

第二章 jQuery技术解密 (五)

2.3.5 引用 DOM 元素 jQuery() 函数能够直接接受 HTML 字符串,并把它们转换为 DOM 结构,这是上一节中所讲解的利用 jQuery() 函数生成 DOM 元素.当然,我们也可以看到 jQuery() 函数还可以接收 DOM 元素.DOM元素集合.HTML标签或者 ID 值.下面我们就来分析 jQuery.fn.init() 构造器是如何把这些类型的参数转换为 DOM 元素的. 对于 HTML 标签来说,它使用 document.getElementsByTagName()

《众妙之门——JavaScript与jQuery技术精粹》——第1章 初学JavaScript 需知的七件事 1.1 缩略标记

第1章 初学JavaScript 需知的七件事 我很早以前就开始编写JavaScript代码,很高兴看到这种语言在今天所取得的成功,能成为这个成功故事中的一部分我很开心.关于JavaScript,我写过许多文章.章节以及一整本书,直到今天我仍在寻找新的东西.下文是一些我工作学习过程中激动时刻的记录,大家与其守株待兔,不如自己尝试去体会这种感受. 1.1 缩略标记 众妙之门--JavaScript与jQuery技术精粹 在创建对象和数组过程中可以使用缩略标记是我喜欢JavaScript的重要原因之

> 第二章 NGWS Runtime 技术基础(rainbow 翻译) (转自重粒子空

<<展现C#>> 第二章 NGWS Runtime 技术基础(rainbow 翻译)   出处:http://www.informit.com/matter/ser0000001/chapter1/ch02.shtml 正文: 第二章  NGWS  runtime 技术基础     既然你已经具有了C#全面的印象,我也想让你了解NGWS runtime的全貌.C#依靠由NGWS提供的运行时:因此,有必要知道运行时如何工作,以及它背后所蕴含的概念.    所以,这一章分为两部分--它

《众妙之门——JavaScript与jQuery技术精粹》——导读

前 言 众妙之门--JavaScript与jQuery技术精粹 对于网站开发设计人员而言,在面对选择解决方案时做出正确的决定并不容易.不论是在建立复杂的网站应用还是在改进网站的过程中,都会有很多前期解决方案可供选择,有时选择最合适的一款方案至关重要.本书着重讲述了在选择相应解决方案时务必要注意的事项,即是否稳定并易于定制.是否有实用性并易于理解.是否具有可维护性.兼容性,以及功能的可拓展性. 本书重点阐述了检验代码的重要性以及在执行JavaScript程序时需要避免的问题.所选择的解决方案应能符

Programming MS Office 2000 Web Components第二章第二节

web 第二章第二节 电子表格组件的高级功能 我们已经讨论了电子表格组件的大部分基本功能,现在让我们转向一些高级功能.大部分的这些高级功能Excel2000都不包含,因为这些是组件专门需要的特殊功能.而那些Excel2000中存在的功能,在电子表格组件中也被增强,使得可以提供一些新的功能. 属性绑定和实时数据 "属性绑定"是电子表格组件中最新奇的新功能之一,它是指控件能够将同一个web页面上其它对象的属性和方法用作单元值或公式参数的能力.电子表格控件使用标准的COM机制来实现绑定到属性