JSRUN 用代码说话

jQuery 教程

编辑教程

简介

jQuery设计的宗旨是“write Less,Do More”,即写更少的代码,做更多的事情
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。
它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;
具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。
jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

特点

快速获取文档元素
jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。
提供漂亮的页面动态效果
jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。
创建AJAX无刷新网页
AJAX是异步的JavaScript和XML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。
提供对JavaScript语言的增强
jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等操作。
增强的事件处理
jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太多事件处理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。
更改网页内容
jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页图像,jQuery简化了原本使用JavaScript代码需要处理的方式。

应用

网站 只需要少量的代码,即可将它们集成到网站上,并且能够帮助访问者分享网站上的内容。
移动端 JQuery Mobile 1. 2是JQuery运行在手机和平板设备上的版本。
JQuery Mobile 1. 2给主流移动平台提供了JQuery的核心库,发布了一个完整统一的JQuery移动UI设计框架,在不同的智能手机和桌面电脑的web浏览器上形成统一的用户UI。支持全球主流的移动平台,对每个平台的支持分为三个等级:A、B、C,实现了对Android 2.1-2.3、3.2、4.0、4. 1、windows Phone 7-7 .5,Palm WebOS 1.4-2.0、3.0、Firefox Mobile 15,Opera Mobile 11.5-12等平台的A级支持。JQuery Mobile 1. 2的核心使得基本的HTML标签在所有的浏览器中生效,并且对网页的行为和效果均进行了增强,让网页在等级较高的浏览器中能获得优秀的体验,在较差的浏览器中也能正常的使用。

历史

2005年8月,John Resig提议改进Prototype的“Behaviour”库
2006年1月14日,John正式宣布以jQuery的名称发布自己的程序库。
2006年1月John Resig等人创建了jQuery;8月,jQuery的第一个稳定版本
2007年7月,jQuery 1.1.3版发布
2007年9月,jQuery 1.2版发布
2008年5月,jQuery 1.2.6版发布
2009年1月,jQuery 1.3版发布
2009年9月,微软和诺基亚公司正式宣布支持开源的jQuery库
2010年1月,是jQuery的四周年生日,jQuery 1.4版发布
2010年2月,jQuery 1.4.2版发布
2011年1月,jQuery 1.5版发布。
2011年11月,jQuery 1.7版发布。

2005年8月,John Resig提议改进Prototype的“Behaviour”库,于是他在blog上发表了自己的想法,并用了3个例子做简单的流程说明。

第一个例子是为元素注册一个事件:

Behaviour.register({
    '#example li': function(e){
        e.onclick = function(){
            this.parentNode.removeChild(this);
        }
    }
});

他认为应该改写为:

$('#example li').bind('click',function(){
    this.parentNode.removeChild(this);
});

第二个例子是为不同的元素注册不同的事件:

Behaviour.register({
    'b.someclass' : function(e){
        e.onclick = function(){
            alert(this.innerHTML);
        }
    },
    '#someid u' : function(e){
        e.onmouseover = function(){
            this.innerHTML = "BLAH!";
        }
    }
});

他认为应该改写为:

$('b.someclass').bind('click',function(){
    alert(this.innerHTML);
});
$('#someid u').bind('mouseover',function(){
    this.innerHTML = 'BLAH!';
});

第三个例子是为不断变化的元素注册不同的事件:

Behaviour.register({
    '#foo ol li': function(a) {
       a.title = "List Items!";
       a.onclick = function(){ alert('Hello!'); };
    },
    '#foo ol li.tmp': function(a) {
       a.style.color = 'white';
    },
    '#foo ol li.tmp .foo': function(a) {
       a.style.background = 'red';
}
});

他认为应该改写为:

$('#foo ol li')
    .set('title','List Items!')
    .bind('click',function(){ alert('Hello!'); })
    .select('.tmp')
    .style('color','white')
    .select('.foo')
    .style('background','red');

这些代码也是jQuery语法的最初雏形。当时John的想法很简单:他发现这种语法相对现有的JavaScript库更为简洁。但他没想到的是,这篇文章一经发布就引起了业界的关注。

于是John开始认真思考着这件事情(编写语法更为简洁的JavaScript程序库),直到2006年1月14日,John正式宣布以jQuery的名称发布自己的程序库。随之而来的是jQuery的快速发展。

2006年1月John Resig等人创建了jQuery;8月,jQuery的第一个稳定版本,并且已经支持CSS选择符、事件处理和AJAX交互。

2007年7月,jQuery 1.1.3版发布,这次小版本的变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。

同年9月,jQuery 1.2版发布,它去掉了对XPath选择符的支持,原因是相对于CSS语法它已经变得多余了。这一版能够对效果进行更为灵活的定制,而且借助新增的命名空间事件,也使插件开发变得更容易。同时,jQuery UI项目也开始启动,这个新的套件是作为曾经流行但已过时的Interface插件的替代项目而发布的。jQuery UI中包含大量预定义好的部件(widget),以及一组用于构建高级元素(例如可拖放、拖拽、排序)的工具。

2008年5月,jQuery 1.2.6版发布,这版主要是将Brandon Aaron开发的流行的Dimensions插件的功能移植到了核心库中,同时也修改了许多BUG,而且有不少的性能得到提高。因此,如果以前的jQuery版本升级到1.2.6,那么完全可以从代码中排除Dimensions插件(一个获得元素尺寸、定位的插件)。

在jQuery迅速发展的同时,一些大的厂商也看中了商机。2009年9月,微软和诺基亚公司正式宣布支持开源的jQuery库,另外,微软公司还宣称他们将把jQuery作为Visual Studio工具集的一部分。他将提供包括jQuery的智能提示、代码片段、示例文档编制等内容在内的功能。微软和诺基亚公司将长期成为jQuery的用户成员,其他成员还有Google,Intel,IBM,Intuit等公司。

2009年1月,jQuery 1.3版发布,它使用了全新的选择符引擎Sizzle,在各个浏览器下全面超越其他同类型JavaScript框架的查询速度,程序库的性能也因此有了极大提升。这一版本的第2个变化就是提供live()方法,使用live()方法可以为当前及将来增加的元素绑定事件,在1.3版之前,如果要为将来增加的元素绑定事件,需要使用livequery插件,而在1.3版中,可以直接用live()方法。

2010年1月,也是jQuery的四周年生日,jQuery 1.4版发布,为了庆祝jQuery四周岁生日,jQuery团队特别创建了jquery14.com站点,带来了连续14天的新版本专题介绍。

在1.3及更早版本中,jQuery通过JavaScript的eval方法来解析json对象。在1.4中,如果你用的浏览器支持,则会使用原生的JSON.parse解析json对象,这样对json对象的书写验证则更为严格。

比如:{foo: "bar"}的写法将不会被验证为合法的json对象,必须写成{"foo":"bar"}。如果你的程序打算升级到1.4版本,那么这一点要尤其注意。

2010年2月,jQuery 1.4.2版发布,它新增了有关事件委托的两个方法:delegate()和undelegate()。delegate()用于替代1.3.2中的live()方法。这个方法比live()来的方便,而且也可以达到动态添加事件的作用。比如给表格的每个td绑定hover事件,代码如下:

//1.4.2
$("table").delegate("td", "hover", function(){
    $(this).toggleClass("hover");
});
//1.3.2
$("table").each(function(){
    $("td", this).live("hover", function(){
        $(this).toggleClass("hover");
    });
});

2011年1月,jQuery 1.5版发布。

2011年11月,jQuery 1.7版发布。

每一章中用到的实例

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("p").click(function(){
  $(this).hide();
  });
});
</script>
</head>

<body>
<p>If you click on me, I will disappear.</p>
</body>

</html>

您将学到什么

在本教程中,您将通过教程以及许多在线实例,学到如何通过使用 jQuery 应用 JavaScript 效果。

jQuery 是一个“写的更少,但做的更多”的轻量级 JavaScript 库。

基本上,您将学习到如何选取 HTML 元素,以及如何对它们执行类似隐藏、移动以及操作其内容等任务。

您需要具备的基础知识

在您开始学习 jQuery 之前,您应该对以下知识有基本的了解:

  • HTML
  • CSS
  • JavaScript

如果您需要首先学习这些科目,请在我们的 首页查找这些教程。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟