jQuery

jQuery

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。


PHP中文网词条详解发展历程

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中包含大量预定义好的部件(w