《锋利的jQuery》学习笔记(1)
课本源码
jQuery的优势:
- 轻量级,压缩后大小保持在30kb
- 强大的选择器,可以使用从CSS1到CSS3几乎所有的选择器
- 出色的DOM封装
- 可靠的事件处理机制
- 完善的ajax
- 不污染顶级变量
- 出色的浏览器兼容性
- 链式操作方式
- 隐式迭代
- 行为层与结构层的分离
- 丰富的插件支持
- 完善的文档
- 开源
window.onload与$(document).ready()的对比
window.onlaod | $(document).ready() | |
执行时机 | 必须等待网页中所有的内容加载完毕后才能执行 | 只要网页中所有的DOM结构绘制完毕后就执行 |
编写个数 | 不能同时编写多个,只输出最后一个 | 能同时编写多个 |
简化写法 | 无 |
$(document).ready(function(){ ... }); 可以简写成: $(function(){ ... }); |
jQuery对象与DOM对象
- jQuery对象是通过jQuery包装DOM对象后产生的对象。
- DOM对象:通过JavaScript中的getElementById或getElementsByTagName等获得的DOM 元素就是DOM 对象。
- jQuery对象转成DOM对象:[index]和get[index],方法如下:
var $cr=$("#cr"); //jQuery对象 var cr=$cr[0]; //DOM对象 alert(cr.checked); //检测这个checkbox是否被选中了
var $cr=$("#cr"); //jquery对象 var cr=$cr.get(0); //DOM对象 alert(cr.checked); //检测这个checkbox是否被选中了
- DOM对象转成jQuery对象:只需要用$()b把DOM对象包装起来就OK了。
var cr=document.getElmentById("cr"); //DOM对象 var $cr=$(cr); //jQuery对象
jQuery与其它库发生冲突方法
- 库在其他库之后导入,可以在任何时候调用jQuery.noConflict()函数来将变量$的控制权移交给其他JavaScript库
- 库在其他库之前导入,可以直接用"jQuery"来做一些jQuery的工作,同时,可以使用$()方法作为其它库的快捷方式。这里无需使用jQuery.noConflict()函数