jQuery------读书笔记(一)
接触jQuery已经有一段时间了,但是一直没有完整的、系统的研读过jQuery的相关书籍。前一阵买了一本《锋利的jQuery》,这是一本比较基础的介绍jQuery的书籍。不动笔墨不读书,所以准备做一些读书笔记。本书一共分为八章,笔记准备分为9部分来记录。
?
第一章 认识jQuery
?
jQuery是一个有John Resig创建于2006年1月的一个开源项目。
jQuery目前最新的版本是:V1.7.1。官网:http://jquery.com
?
一、jQuery的优势
?
1. 轻量级;
2. 强大的选择器;
3. 出色的DOM操作的封装;
4. 可靠的事件处理机制;
5. 完善的Ajax;
6. 不污染顶级变量;
?7. 出色的浏览器兼容性;
8. 链式操作方式;
9. 隐式迭代;
10. 行为层与结构层的分离;
11. 丰富的插件支持;
12. 完善的文档;
13. 开源。
?
二、jquery基础
?
1.在页面袋中<head>标签内引入jQuery库后,就可以使用jQuery库了。
?
2.$就是jQuery的一个简写形式。$(“#foo”)和jQuery(“#foo”)是等价的。
?
3. $(document).ready(function(){
alert("Hello world"); ? ? ? ? ? //等待dom元素加载完毕弹出一个框
???})
简写为?$(function(){
?//......
???})
?? ? ? ?类似于传统JS中的window.onload方法,不过有一些区别。
?
4.注释://
?
三、jQuery对象和DOM对象的相互转换
?
var $variable = jQuery对象
var variable = DOM对象
?
1. jQuery对象转成为DOM对象
?
两种方式:[index]和get(index)
var $cr = $("#cr"); ? //jQuery对象
var cr = $cr[0];//DOM对象
var cr = $cr.get(0);//DOM对象
?
2.DOM对象转为jQuery对象
?
var cr = document.getElementById("cr"); ? ?//DOM对象
var $cr = $(cr);//jQuery对象
?
四、解决jQuery和其他库的冲突
?
目前较为流行的JS库:Prototype,Dojo,YUI,Ext JS,MooTools,jQuery。
?
1.jQuery在其他库之后导入
?
(1)?可以在任何时候调用jQuery.noConflict()函数来将变量$的控制权移交给其他JS库。
?? ? ?则jQuery()函数作为jQuery对象的制造工厂。jQuery(function(){})
?
(2)?也可以自定义一个快捷方式: var $j = jQuery.noConflict();?
$j(function(){});
?
(3) 如果还想用$而不管其他库的$()方法,同时与其他库不冲突,可以使用以下两种方法。
(a)?jQuery.noConflict();
?? ??jQuery(function($){});
(b) jQuery.noConflict();
?? ? (function($){
?? ? $(function(){});
?? ??})(jQuery);
这应该是最理想的方式,因为可以通过改变最少的代码来实现全面的兼容性。
?
2. jQuery库在其他库之前导入
?
可以直接使用"jQuery"来做一些jQuery的工作,同时,可以使用$()方法作为其他库的快捷方式。这里无需调?? ?用jQuery.noConflict()函数。
?
五、开发工具和插件
?
1.Dreamweaver
2.Aptana
3.jQueryWTP和Spket插件
这两款插件都可以使用Eclipse支持jQuery自动提示代码功能。
4.Visual Studio 2008