`
phpxiaoxin
  • 浏览: 252284 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于jquery 1.3 选择器引擎(Sizzle selector engine)

    博客分类:
  • js
阅读更多

红色带括号文字部分乃我自己加的说明

 

关于jQuery的新选择器引擎–Sizzle下面地址有介绍了,这里不多说了

原文:http://roln.cn/archives/252

 

下面看一下例子和结构图。转自(原文更详细): http://blog.allansong.com/?p=6

 

从jQuery 1.3.2的源码来看, sizzle的代码行差不多刚好1K, 从1429到2427。
以一个很简单的multiple selector为例:

<html>

<head>

<script src=”link_to_jquery.js”></script>

<script language=”javascript”>

$(function(){

        $(”div,span,p.myClass”) . css(”border”, “3px solid red”);

});

</script>

</head>

<body>        

        <div>div</div>

        <p class=”myClass”>p class=”myClass”</p>

        <p class=”notMyClass”>p class=”notMyClass”</p>

        <span>span</span>

</body>

</html>

 

从$(“div, span, p.myClass”)开始深入jQuery sizzle, 一步一步来看sizzle是怎么工作的?


(此图虽然流程很明白,但是我看功力尚浅,看代码的时候可真费劲阿,到现在还没完全都弄熟。)

 


关于sizzle的源码分析,可以看这个文章:

http://lwp8407120426.blog.163.com/blog/static/464280752009145364974/

关于jQuery Sizzle选择器跟普通选择器的区别

转自(有删节,原文内容更详细且有评论):http://www.cssrain.cn/article.asp?id=1315

举个一个选择器来说: $("div  p");

每个更换选择器之前,查找步骤如下:
1,先查找页面上所有的div 。
2,循环所有的div,查找每个div下的p 。
3,合并结果 。


采用Sizzle选择器之后,查找步骤如下:
1,先查找页面上所有的p 。
2,循环所有的p,查找每个p的父元素,
   1)如果不是div,遍历上一层。
   2)如果已经是顶层,排除此p。
   3)如果是div,则保存此p元素。

(上面说的两种思路需要思考借鉴,包括在其他地方。大家也可看看原文的评论。)
  • 大小: 343.7 KB
分享到:
评论

相关推荐

    jQuery1.3 jQuery1.3

    此外,选择器引擎Sizzle也得到了升级,对CSS2和CSS3选择器的支持更加完善,提高了选择器的解析效率。 ### 2. `$.ajax()`增强 jQuery1.3对Ajax功能进行了增强,支持JSONP请求,这使得跨域数据获取变得更加便捷。...

    JQuery1.3正式版--JQuery最新版

    1. **性能优化**:jQuery 1.3着重提升了执行效率,尤其是在选择器引擎Sizzle的优化上,使得DOM遍历更快,降低了对页面性能的影响。 2. **插件支持**:该版本增强了对插件的管理,为开发者提供了更稳定的插件开发...

    jQuery1.3中文手册

    4. **选择器引擎Sizzle**:1.3版本采用了全新的选择器引擎Sizzle,提升了CSS选择器的解析速度和兼容性,支持更多的CSS3选择器。 5. **插件开发**:jQuery 1.3提供了更完善的插件开发接口,使得第三方开发者可以更...

    jQuery1.3chm帮助文档

    9. **性能优化(Performance)**:在jQuery1.3中,库的性能得到了提升,如使用Sizzle选择器引擎,以及对DOM操作的优化,使得在处理大量元素时仍然保持高效。 10. **API文档(API Documentation)**:CHM文件提供的...

    jQuery 1.3 及其参考手册 源码分析

    分析jQuery 1.3的源码可以帮助我们深入理解其内部机制,包括选择器引擎Sizzle的工作原理、事件处理的实现、动画的缓动函数等。通过源码阅读,开发者可以学习到如何编写高效、模块化的JavaScript代码,提升自己的...

    Jquery1.3 完整包

    1. **性能优化**:jQuery 1.3在执行速度上进行了显著提升,优化了DOM遍历和选择器引擎Sizzle,使其在处理大量元素时更为迅速。 2. **$.ajax()** 更新:在Ajax功能上,jQuery 1.3引入了更多的选项,如`cache`、`...

    jQuery 1.3 中文文档 v090118

    例如,它增强了Sizzle选择器引擎,使其在处理复杂选择器时更加迅速。此外,对于频繁执行的DOM操作,如`$(...).hide()`和`$(...).show()`,jQuery 1.3也进行了性能上的优化,使这些操作更加流畅。 二、API改进 1. `$...

    jQuery1.3中文参考文档.chm

    首先,jQuery的核心特性在于其选择器引擎——Sizzle。Sizzle允许开发者使用CSS1到CSS3的选择器语法来选取DOM元素,大大简化了JavaScript代码。例如,`$("#myID")`用于选取ID为"myID"的元素,`$(".myClass")`则选取...

    jQuery中的Sizzle引擎分析

    Sizzle是jQuery中的核心选择器引擎,专门负责解析和执行CSS选择器。Sizzle的设计目标是独立于DOM API,使其能够在各种浏览器环境下工作,即使这些浏览器对CSS选择器的支持不完全。 在jQuery中,Sizzle引擎主要实现...

    jQuery1.3电子手册

    8. **效率优化**:jQuery1.3版本在性能上做了优化,例如,使用Sizzle选择器引擎提高了选择器的执行速度,同时提供`live()`和`delegate()`方法处理动态添加的元素的事件。 9. **兼容性**:jQuery1.3版本仍然注重...

    jQuery 1.3 中文 API HTML 版

    10. **性能优化**: jQuery 1.3中引入了一些性能优化措施,比如使用Sizzle选择器引擎提高选择器性能,以及使用缓存和节流技术减少DOM操作次数。 这个HTML版的API文档对于学习和使用jQuery 1.3非常有帮助,它提供了...

    jquery1.3下载

    1. **性能提升**:jQuery 1.3对内部代码进行了优化,提高了执行效率,尤其在选择器引擎Sizzle上做了大量工作。 2. **更好的浏览器兼容性**:这个版本继续扩展了对各种浏览器的支持,包括Internet Explorer、Firefox...

    jquery 1.3和1.4CHM手册

    - **新的选择器引擎Sizzle**:1.4版本引入了Sizzle,提高了选择器的执行速度和兼容性。 - **更小的代码体积**:通过优化代码和减少冗余,1.4版本的jQuery库大小显著减小。 - **新的插件架构**:改进了插件编写...

    jquery1.3api参考手册

    10. **性能优化**:jQuery 1.3中包含了对性能的优化,如缓存DOM查找、减少DOM操作以及使用Sizzle选择器引擎提高选择器性能等。 总之,《jQuery 1.3 API 参考手册》是前端开发者的宝贵资源,无论你是初学者还是经验...

    jquery1.3文档

    jQuery 1.3 的选择器引擎Sizzle更加成熟,支持CSS2、CSS3选择器,如`:first-child`、`:last-child`、`:nth-child()`等,让开发者能够更精确地定位DOM元素。此外,还提供了如`$:function`这样的扩展接口,方便自定义...

    jQuery 1.3 参考文档HTML 版 2009-01-19

    例如,对于选择器引擎Sizzle的优化,使得jQuery在选择元素时的速度有了显著提升,尤其是在处理大型DOM结构时。此外,1.3版本还引入了"live()"函数,这是一个革命性的改变,它允许事件处理程序绑定到当前或未来存在的...

    JQuery1.3和1.2的所有学习的相关文档

    1. **更快的DOM操作**:JQuery1.3通过优化内部实现,提高了选择器引擎Sizzle的性能,使得DOM元素的选择和操作更为迅速。 2. **新API功能**:引入了`.delegate()`方法,这是一个强大的事件委托工具,允许在父元素上...

    jQuery1.3API

    8. **效率优化(Performance Optimization)**:1.3版本的jQuery对性能进行了优化,如使用Sizzle选择器引擎,以及缓存查找结果以减少DOM操作。 通过对《jQuery1.3 API》的学习,开发者不仅可以掌握这个版本的功能,...

    jquery 选择器引擎sizzle浅析

    于是看了jquery的源码,jquery用的选择器的引擎是sizzle,是jquery的作者另一开源项目,在github上面有,号称最快的dom选择器!不到2000行代码。上面说了不是很精彩的开场白,我么来个 for example: $(‘.test’) 在...

    Jquery1.3 API参考文档中文版

    10. **效率优化**:jQuery 1.3版本对性能进行了优化,比如引入了Sizzle选择器引擎,提高了选择器的速度,并减少了内存消耗。 11. **版本更新**:`changelog.txt`文件通常记录了版本间的变更,包括新功能、修复的bug...

Global site tag (gtag.js) - Google Analytics