核心理念
write less, do more
$ 是 jQuery 的简写形式
即 $.ajax 等价于 jQuery.ajax.
特性
- 轻量级
- 强大的选择器
- 出色的DOM操作和封装
- 可靠的事件处理机制
- 完善的Ajax
- 不污染的顶级变量
- 出色的浏览器兼容性
- 链式的操作方法
- 隐式迭代
- 行为层和结构层的分离
- 丰富的插件支持
- 完善的文档
- 开源
代码风格
- 链式操作风格(为了代码的可读性和可维护性,可以遵循以下规则)
- 对于同一个对象不超过3个操作的,可以直接写成一行;
- 对于同一个对象的较多操作,建议每行写一个操作;
- 对于多个对象的少量操作,可以每个对象写一行,如果涉及子元素,可以考虑适当的缩进。
- 为代码添加注释
关于jQuery 对象和 DOM 对象
jQuery 对象是通过 jQuery 包装 DOM 对象后产生的对象,是 jQuery 独有的。如果一个对象是 jQuery 对象,那么就可以使用 jQuery 里的方法。也就是说, jQuery 对象和 DOM 对象都不能使用对方的任何方法。
jQuery 对象和 DOM 对象转换
jQuery 对象 =》DOM 对象:o.[index] 和 o.get(index)
例子:
var $o = $("#id");
var cr = $o[0];
或
var cr = $o.get(0);
DOM 对象 =》jQuery 对象:$(o)
例子:
var o = document.getElementById("id");
var $cr = $(o);
window.onload 和 (document).ready(function(){...})比较
$(document).ready(function(){ ... }),类似于类似于传统的 js 中的 window.onload 方法。
--- | window.onload | $(document).ready(function(){...}) |
---|---|---|
执行时间 | 必须等待网页中所有的内容加载完毕后(包括图片)才能执行 | 网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有加载完 |
编写个数 | 不能编写多个,如果存在多个,最后那个为准 | 能同时编写多个 |
简化写法 | 无 | $(function(){...}) |