授权协议: GPL/MIT
开发语言: JavaScript HTML/CSS
操作系统: 跨平台
收录时间: 2008-09-05

jQuery是一个快速,小型且功能丰富的JavaScript库。借助易于使用的API(可在多种浏览器中使用),它使HTML文档的遍历和操纵,事件处理,动画和Ajax等事情变得更加简单。兼具多功能性和可扩展性,jQuery改变了数百万人编写JavaScript的方式。

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

语言特点

  • 快速获取文档元素
  • 提供漂亮的页面动态效果
  • 创建AJAX无刷新网页
  • 提供对JavaScript语言的增强
  • 增强的事件处理
  • 更改网页内容

jQuery的由来

2005年8月,John Resig提议改进Prototype的Behaviour库,于是他在博客上发表了自己的想法。 当时John Resig的想法很简单:他发现这种语法相对现有的JavaScript库更为简洁。但他没想到的是,这篇文章一经发布就引起了业界的关注。于是John开始认真思考着这件事情(编写语法更为简洁的JavaScript程序库)。

直到2006年1月14日,John Resig正式宣布以jQuery的名称发布自己的程序库。随之而来的是jQuery的快速发展。 2006年1月John Resig等人创建了jQuery;8月,jQuery的第一个稳定版本,并且已经支持CSS选择符、事件处理和AJAX交互。

工作原理

jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。

在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能;异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态;数据缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队操作,并确保函数按顺序执行,它基于数据缓存模块实现。

在功能模块中,事件系统提供了统一的事件绑定、响应、手动触发和移除机制,它并没有将事件直接绑定到DOM元素上,而是基于数据缓存模块来管理事件;Ajax模块允许从服务器上加载数据,而不用刷新页面,它基于异步队列模块来管理和触发回调函数;动画模块用于向网页中添加动画效果,它基于队列模块来管理和执行动画函数;属性操作模块用于对HTML属性和DOM属性进行读取、设置和移除操作;DOM遍历模块用于在DoM树中遍历父元素、子元素和兄弟元素;DOM操作模块用于插入、移除、复制和替换DOM元素;样式操作模块用于获取计算样式或设置内联样式;坐标模块用于读取或设置DOM元素的文档坐标;尺寸模块用于获取DOM元素的高度和宽度。

运行条件

运行jQuery所需的条件很简单:一台计算机、一个智能电话或一个可以运行现代浏览器的设备。jQuery对浏览器的要求也相当自由。官方网站列出了下列支持jQuery的浏览器:

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

jQuery 的相关博客

jquery-3 jquery选择器

jquery-3 jquery选择器 一、总结 一句话总结:选择器使用的时候可以结合参考手册,里面都已经详细归类好了。(多用才能熟啊)...

jQuery 中 jQuery(function(){})与(function(){})(jQuery) 的区别

$(function(){})已经是一个匿名函数了,在里面定义的函数已经是私有了,不能全局访问。把函数定义在全局,也就是function外面...

You-Dont-Need-JQuery (你不需要JQuery)

看完这篇文章我才觉得真的要用JQuery ,因为实在是有些地方设计的使用太复杂了, document.querySelector() 和 Document.que...

JQuery - $, JQuery, Window.load, JQuery.ready

开篇之前偶然间看到和这篇文章有关的Stackoverflow的一个thread,在这里摘录。 $(document).ready(function() { // executes ...

jQuery

一.万能的$($===jQuery) $是一个对象,也是一个方法 1.1 直接获取页面的元素 $("选择器") 例:$("#id值") 1.2 dom就绪后执行相...

jQuery

1. jQuery 库中的 $() 是什么? $ 即 jQuery对象,是一个Function对象,$()是调用这个function,得到的是 2. $(document).ready...

jQuery 中 jQuery(function(){})与(function(){})(jQuery) 的区别及用法

假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这...

jQuery

jQuery介绍 jQuery是一个轻量级的、兼容多浏览器的JavaScript库。 jQuery使用户能够更方便地处理HTML Document、Events、实现...

jQuery jquery-1.5.1.min.js使用

请问下 jquery-1.5.1.min.js 导入MyEclipse9.0有错误提示 是怎么回事

jQuery

JavaScript库 jQuery选择器 jQuery事件实现网页交互 jQuery效果 Ajax请求

评论 (29)

加载中
真特么越来越烦#jQuery#
2018/04/23 09:20
回复
举报
打分: 很差
很常用了
2018/03/16 10:09
回复
举报
关于jquery的疑问 不是很明白如下所示第54行的代码为什么会显示无效呢?#前端# #jQuery#
2017/11/29 09:32
回复
举报
#jQuery# #前端学习# 最近接触了jquery,写了一个点击变色的Demo,想问一下如图二21-26行所示,为什么直接写多个$("div")的时候webstorm会提示重复使用,是必须要写成图一21-22行么?
2017/11/28 08:34
回复
举报
留一个阿里云优惠券:www.izhuanyer.com
2017/10/22 09:20
回复
举报
打分: 力荐
jquery插件集:http://www.jqhtml.com/category/article/plugs
2017/07/07 20:04
回复
举报
其实还得思考一个问题,是做一个jQuery插件大分类呢,还是做一个JavaScript大分类呢?后者分类更大,包含一些非jQuery的但又非常优秀的JS库,还有Prototype 插件之类的,反正这工作量非常大,慢慢来调整吧
2011/03/16 07:59
回复
举报
新增Play1、Play2 for Java、Play2 for Scala、Nutch2.0、curl文档,修复jQuery文档最后正则表达式乱码问题。有什么需要的文档要跟我说哦,没问题的话我会及时添加的。
2012/07/16 16:49
回复
举报
jQuery 1.8 ,为谁辛苦为谁忙,为了升级忙断肠
2012/08/10 08:30
回复
举报
RunJS第一时间更新jQuery1.8.3版本http://runjs.cn
2012/11/14 16:28
回复
举报
更多评论
29 评论
558 收藏
分享
在线直播报名
返回顶部
顶部