以下内容来自廖雪峰的js教程,整理了下作为笔记
1.简介
JavaScript世界中使用最广泛的一个库,我把它理解为轻松编写js的一个库
jQuery能帮我们干这些事情:
-
消除浏览器差异:你不需要自己写冗长的代码来针对不同的浏览器来绑定事件,编写AJAX等代码;
-
简洁的操作DOM的方法:写
$('#test')
肯定比document.getElementById('test')
来得简洁; -
轻松实现动画、修改CSS等各种操作。
jQuery版本
目前jQuery有1.x和2.x两个主要版本,区别在于2.x移除了对古老的IE 6、7、8的支持,因此2.x的代码更精简。选择哪个版本主要取决于你是否想支持IE 6~8。jQuery只是一个jquery-xxx.js
文件,但你会看到有compressed(已压缩)和uncompressed(未压缩)两种版本,使用时完全一样,但如果你想深入研究jQuery源码,那就用uncompressed版本。
使用jQuery只需要在页面的<head>
引入jQuery文件即可:
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
...
</head>
$符号
$
是著名的jQuery符号。实际上,jQuery把所有功能全部封装在一个全局变量jQuery
中,而$
也是一个合法的变量名,它是变量jQuery
的别名:
window.jQuery; // jQuery(selector, context)
window.$; // jQuery(selector, context)
$ === jQuery; // true
typeof($); // 'function'
$
本质上就是一个函数,但是函数也是对象,于是$
除了可以直接调用外,也可以有很多其他属性。
注意,你看到的$
函数名可能不是jQuery(selector, context)
,因为很多JavaScript压缩工具可以对函数名和参数改名,所以压缩过的jQuery源码$
函数可能变成a(b, c)
。
绝大多数时候,我们都直接用$
(因为写起来更简单嘛)。但是,如果$
这个变量不幸地被占用了,而且还不能改,那我们就只能让jQuery
把$
变量交出来,然后就只能使用jQuery
这个变量:
$; // jQuery(selector, context)
jQuery.noConflict();
$; // undefined
jQuery; // jQuery(selector, context)
这种黑魔法的原理是jQuery在占用$
之前,先在内部保存了原来的$
,调用jQuery.noConflict()
时会把原来保存的变量还原。
2.jQuery版的选择器使用方法:
太多了直接看原文http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014345004443979a29e0e0be054e75a652613f132f7f0b000
比较特殊的:
jQuery对象和DOM对象之间可以互相转化:
var div = $('#abc'); // jQuery对象
var divDom = div.get(0); // 假设存在div,获取第1个DOM元素
var another = $(divDom); // 重新把DOM包装为jQuery对象
通常情况下你不需要获取DOM对象,直接使用jQuery对象更加方便。如果你拿到了一个DOM对象,那可以简单地调用$(aDomObject)
把它变成jQuery对象,这样就可以方便地使用jQuery的API了。
4.jQuery版的事件操作
5.jQuery版的动画
jQuery动画的原理是逐渐改变CSS的值,通常一句话就搞定了
6.jQuery版的ajax
7.编写自己用的jQuery插件进行扩展
这篇略有点无耻了,都是链接,实在是太多了,一下子hold不住。