jQuery这个类库最为核心重要的功能就是DOM操作了。DOM是由w3c制定的为HTML和XML文档编写的应用程序接口,全称叫做W3C DOM,它使得开发者能够修改html和xml的内容和展现方式,将网页与脚本或编程语言连接起来。
但是标准在各个浏览器中的实现是不一样的,同时DOM发展也是循序渐进的,不断地增加新的api,因此各个浏览器乃至各个版本对于DOM实现的也是不一样的。jQuery这个类库最为核心的功能,就是能够将各个主流浏览器的主流版本的DOM处理方法统一起来,让开发人员不必去过分了解各个浏览器对于DOM处理的细节与差异,写一次代码就能在各个浏览器中运行,并且取得相同的效果。
jQuery这个框架目前的流行程度在下降,除了新的理论新的框架的兴起外,一个主要原因就是各个主流浏览器对于DOM处理的差异正在缩小,DOM处理差异大的浏览器日益趋于被淘汰,所以jQuery对我们而言仅是一个封装了DOM处理的工具,存在的意义也日趋下降。但是从mdn的Element预定义的几个api就能发现,新增加的api都是在模仿jQuery的,可见jQuery的api是多么经典。
阮一峰老师曾经有一篇jQuery-free化的文章,里面介绍了很多不使用jQuery也可以高效开发的技巧,这些技巧都是仿照jQuery,并在深入了解了DOM基础上封装起来的。查看jQuery对于DOM操作的源码,不但会了解到标准的DOM操作方法,学习DOM的api的优化,还能学习到关于浏览器兼容的一些“黑魔法”、“黑科技”。
jQuery封装的DOM大致可以分为3大类:DOM操作、DOM遍历、DOM事件,篇幅有限,我们先着重看一看DOM操作相关的jQuery的源码。下面我们就一起看看jQuery的DOM操作相
