红色带括号文字部分乃我自己加的说明
关于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
分享到:
相关推荐
此外,选择器引擎Sizzle也得到了升级,对CSS2和CSS3选择器的支持更加完善,提高了选择器的解析效率。 ### 2. `$.ajax()`增强 jQuery1.3对Ajax功能进行了增强,支持JSONP请求,这使得跨域数据获取变得更加便捷。...
1. **性能优化**:jQuery 1.3着重提升了执行效率,尤其是在选择器引擎Sizzle的优化上,使得DOM遍历更快,降低了对页面性能的影响。 2. **插件支持**:该版本增强了对插件的管理,为开发者提供了更稳定的插件开发...
10. **效率优化**:jQuery 1.3版本对性能进行了优化,比如引入了Sizzle选择器引擎,提高了选择器的速度,并减少了内存消耗。 11. **版本更新**:`changelog.txt`文件通常记录了版本间的变更,包括新功能、修复的bug...
4. **选择器引擎Sizzle**:1.3版本采用了全新的选择器引擎Sizzle,提升了CSS选择器的解析速度和兼容性,支持更多的CSS3选择器。 5. **插件开发**:jQuery 1.3提供了更完善的插件开发接口,使得第三方开发者可以更...
9. **性能优化(Performance)**:在jQuery1.3中,库的性能得到了提升,如使用Sizzle选择器引擎,以及对DOM操作的优化,使得在处理大量元素时仍然保持高效。 10. **API文档(API Documentation)**:CHM文件提供的...
分析jQuery 1.3的源码可以帮助我们深入理解其内部机制,包括选择器引擎Sizzle的工作原理、事件处理的实现、动画的缓动函数等。通过源码阅读,开发者可以学习到如何编写高效、模块化的JavaScript代码,提升自己的...
1. **性能优化**:jQuery 1.3在执行速度上进行了显著提升,优化了DOM遍历和选择器引擎Sizzle,使其在处理大量元素时更为迅速。 2. **$.ajax()** 更新:在Ajax功能上,jQuery 1.3引入了更多的选项,如`cache`、`...
例如,它增强了Sizzle选择器引擎,使其在处理复杂选择器时更加迅速。此外,对于频繁执行的DOM操作,如`$(...).hide()`和`$(...).show()`,jQuery 1.3也进行了性能上的优化,使这些操作更加流畅。 二、API改进 1. `$...
首先,jQuery的核心特性在于其选择器引擎——Sizzle。Sizzle允许开发者使用CSS1到CSS3的选择器语法来选取DOM元素,大大简化了JavaScript代码。例如,`$("#myID")`用于选取ID为"myID"的元素,`$(".myClass")`则选取...
Sizzle是jQuery中的核心选择器引擎,专门负责解析和执行CSS选择器。Sizzle的设计目标是独立于DOM API,使其能够在各种浏览器环境下工作,即使这些浏览器对CSS选择器的支持不完全。 在jQuery中,Sizzle引擎主要实现...
8. **效率优化**:jQuery1.3版本在性能上做了优化,例如,使用Sizzle选择器引擎提高了选择器的执行速度,同时提供`live()`和`delegate()`方法处理动态添加的元素的事件。 9. **兼容性**:jQuery1.3版本仍然注重...
10. **性能优化**: jQuery 1.3中引入了一些性能优化措施,比如使用Sizzle选择器引擎提高选择器性能,以及使用缓存和节流技术减少DOM操作次数。 这个HTML版的API文档对于学习和使用jQuery 1.3非常有帮助,它提供了...
1. **性能提升**:jQuery 1.3对内部代码进行了优化,提高了执行效率,尤其在选择器引擎Sizzle上做了大量工作。 2. **更好的浏览器兼容性**:这个版本继续扩展了对各种浏览器的支持,包括Internet Explorer、Firefox...
- **新的选择器引擎Sizzle**:1.4版本引入了Sizzle,提高了选择器的执行速度和兼容性。 - **更小的代码体积**:通过优化代码和减少冗余,1.4版本的jQuery库大小显著减小。 - **新的插件架构**:改进了插件编写...
10. **性能优化**:jQuery 1.3中包含了对性能的优化,如缓存DOM查找、减少DOM操作以及使用Sizzle选择器引擎提高选择器性能等。 总之,《jQuery 1.3 API 参考手册》是前端开发者的宝贵资源,无论你是初学者还是经验...
jQuery 1.3 的选择器引擎Sizzle更加成熟,支持CSS2、CSS3选择器,如`:first-child`、`:last-child`、`:nth-child()`等,让开发者能够更精确地定位DOM元素。此外,还提供了如`$:function`这样的扩展接口,方便自定义...
例如,对于选择器引擎Sizzle的优化,使得jQuery在选择元素时的速度有了显著提升,尤其是在处理大型DOM结构时。此外,1.3版本还引入了"live()"函数,这是一个革命性的改变,它允许事件处理程序绑定到当前或未来存在的...
1. **更快的DOM操作**:JQuery1.3通过优化内部实现,提高了选择器引擎Sizzle的性能,使得DOM元素的选择和操作更为迅速。 2. **新API功能**:引入了`.delegate()`方法,这是一个强大的事件委托工具,允许在父元素上...
8. **效率优化(Performance Optimization)**:1.3版本的jQuery对性能进行了优化,如使用Sizzle选择器引擎,以及缓存查找结果以减少DOM操作。 通过对《jQuery1.3 API》的学习,开发者不仅可以掌握这个版本的功能,...
于是看了jquery的源码,jquery用的选择器的引擎是sizzle,是jquery的作者另一开源项目,在github上面有,号称最快的dom选择器!不到2000行代码。上面说了不是很精彩的开场白,我么来个 for example: $(‘.test’) 在...