jQuery库是一个单独的javascript文件,可以保存到本地或者服务器直接引用,也可以从多个公共服务器中选择引用。有Media Temple、Google、Microsoft等多家公司给jQuery提供CDN服务,比较常用的引用地址如下
<script type="text/javascript" src="http://ajax.googleapis. com/ajax/libs/jquery/1.8/jquery.min.js"></script>
目前的版本是1.8.2(截止2012年10月)
最常使用的jQuery基础方法是.ready()方法
$(document).ready(function(){
//script goes here
});
或者其简写
$(function(){
//script goes here
});
当dom加载完就可以执行(比window.onload更早)。在同一个页面里可以多次出现.ready()
选择器
jQuery 使用 sizzle引擎,支持css选取,Xpath选取等方式。
$("p") 选取全部 <p> 元素。
$("p.intro") 选取所有包含class为"intro"的 <p> 元素。
$("p#demo") 选取 id为"demo" 的 <p> 元素。
$("[href]") 选取所有带有 href 属性的元素。
$("[href='#']") 选取所有带有 href 值等于 "#" 的元素。
$("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。
$("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。
事件处理
直接绑定指定事件,事件类型即方法名,支持click、focus、blur、submit等。
$("#button").click(function(){
//script goes here
});
用on来绑定事件,off来解绑事件,第一个参数为事件名,第二个参数为回调函数。1.7.2版本开始支持。
$("#button").on('click',function(){
//script goes here
});
在1.7.1或更早版本,需要用bind/unbind(常规绑定),live/die(预绑定)来替代on/off。
更多详细信息请参见jQuery API的Events部分
[4]
。
动态特效
$("#msg").show("fast");
$("#msg").hide("slow");
$("#msg").fadeIn();
$("#msg").fadeOut();
以上代码实现一个id为Msg的jQuery对象的渐入和淡出。
函数接受的参数除了快慢等,还可以接收
整型,作为渐入或淡出的完成时间,单位为ms。更多详细信息请参见jQuery API的Effects部分
[4]
。
AJAX
使用jquery实现ajax方式如下
$.ajax({
type: "POST",
url: "example.php",
data: "name=John&location=Boston"
}).done(function(msg){
alert("Data Saved: " + msg);
}).fail(function(xmlHttpRequest,statusText,errorThrown) {
alert(
"Your form submission failed.\n\n"
+ "XML Http Request: " + JSON.stringify(xmlHttpRequest)
+ ",\nStatus Text: " + statusText
+ ",\nError Thrown: " + errorThrown);
});
这个例子发送name=John和location=Boston两个数据给服务端的example.php,请求成功后会提示用户。
更多详细信息请参见jQuery API的Ajax部分
[4]
。
插件机制
jQuery的官方插件是jQuery UI
[5]
。开发者可以任意扩展jQuery的函数库或者按照自己的需求开发UI组件。目前网上已经有数以千计的jQuery插件,覆盖各种各样的需求。例如Ajax辅助、数据表格、动态列表、XML工具、拖曳、cookie处理、弹出层等等。