jQuery 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
jQuery 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
jQuery 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL/MIT
操作系统 跨平台
软件类型 开源软件
开源组织 Linux 基金会
地区 不详
投 递 者 不详
适用人群 未知
收录时间 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 指数为
超过 的项目

评论

点击加入讨论🔥(29)
发表了资讯
05/21 08:49

英国政府网站删除所有 jQuery 依赖后,性能显著提升

英国政府网站 GOV.UK 前端开发主管 Matt Hobbs 宣布,jQuery 作为该网站所有前端应用程序的依赖项已被删除。通过此举,对于网站的 13 个前端应用程序,其 JS 大小减少了 32 KB(或 31% 到 49%)之间。 根据 Matt 分享网站移除 jQuery 后的数据表现,可总结出如下信息: 整体减少前端处理时间,提升性能 许多关键指标(如 First CPU Idle, JS Long Tasks)的数据呈现下降趋势 对于一些极端情况下(严重不利的网络和设备条件)的数...

39
6
发表了资讯
2021/04/02 07:35

伪造的 jQuery Migrate 插件生成恶意文件感染 WordPress 网站

安全研究人员 Denis Sinegubko 和 Adrian Stoian 近日发现,假冒的 jQuery Migrate 插件通过在其中包含的混淆代码来加载恶意软件从而注入了数十家网站。 这些被加载的文件被命名为 jquery-migrate.js 和 jquery-migrate.min.js,虽然从命名上不会察觉到这两个文件有什么问题,但实际上这两个文件是用于加载恶意软件的。 截至目前,有超过 720 万个网站都在使用 jQuery Migrate 插件,这也解释了为什么攻击者会用这个知名插件的名...

2
2
发表于数据库专区
2021/03/04 07:01

jQuery 3.6.0 发布

jQuery 是一个快速、小型且功能丰富的 JavaScript 库。通过易于使用的 API(可在多种浏览器中使用),使 HTML 文档的遍历和操作、事件处理、动画和 Ajax 等操作变得更加简单。结合了多功能性和可扩展性,jQuery 改变了数百万人编写 JavaScript 的方式。 jQuery 3.6.0 已正式发布,此版本不包含安全修复程序,但具有一些错误修复和改进。以下是 jQuery 3.6.0 的更新亮点: 即使存在 JSONP 错误也返回 JSON 在以前的版本中,当 JS...

23
10
发表于大前端专区
2020/05/05 08:10

jQuery 3.5.1 发布,修复安全问题

jQuery 3.5.1 已发布,此版本修复了针对 3.5.0 的回归错误。 具体来说就是,在此前的版本中将内部数据对象改为使用Object.create( null )而非普通对象 ({})。之所以这样做是为了防止与 Object.prototype 属性上的 key 发生冲突。然而,这也意味着用户(尤其是插件)无法再使用原生的 .hasOwnProperty 方法来检查 jQuery 数据中的内容,导致破坏部分代码。目前已恢复了这个改动,但官方计划在 jQuery 4.0 中再放回去。这个改动也...

4
7
发表于大前端专区
2020/04/11 08:08

jQuery 3.5.0 发布

jQuery 3.5.0 发布了,此版本主要是安全修复。 jQuery 在其jQuery.htmlPrefilter方法中使用了正则表达式,以确保在传递给方法时,所有结束标记均符合 XHTML 规则。例如,此预过滤器可确保将jQuery("<div class='hot' />")这样的调用转换为 jQuery("<div class='hot'></div>")。但是最近有报道称正则表达式可能会引入跨站脚本(XSS)漏洞。所以此版本中jQuery.htmlPrefilter函数不再使用正则表达式。 如果有开发者需要这种正则需...

27
10
发表于大前端专区
2019/11/11 08:05

JS 框架安全报告:jQuery 下载次数超过 1.2 亿次

尽管 JavaScript 库 jQuery 仍被使用,但它已不再像以前那样流行。根据开源安全平台 Snyk 统计,目前至少十分之六的网站受到 jQuery XSS 漏洞的影响,甚至用于扩展 jQuery 功能的 jQuery 库还引入了更多的安全问题。 Snyk 发布了 2019 年 JavaScript 框架的状态安全报告,该报告主要是对两个领先的 JavaScript 框架(Angular 和 React)进行安全审查,但同时还调查了其他三个前端 JavaScript 生态系统项目的安全漏洞:Vue.js、Boo...

33
15
发表于大前端专区
2019/05/05 08:05

jQuery 3.4.1 发布,修复上个版本的问题

三周前,jQuery 发布了 3.4.0 版本,用户对这个版本反馈了不少问题,于是便有了这个修复问题的补丁版本 3.4.1。 1.在 IE 中触发获取或失去焦点的事件出现异常 在 jQuery 3.4.0 中,触发本地事件的事件处理程序带来了一些改变,例如focus和blur。而这些变化导致了一个回归问题,有时会导致抛出神秘的错误"saved.shift is not a function",目前已修复。 示例代码 // Error thrown in IE10-11 // after clicking #test-elemen...

10
3
发表于大前端专区
2019/04/22 08:26

jQuery 的“原型污染”安全漏洞

前两周发布的 jQuery 3.4.0 除了常规更新外,更重要的是修复了一个称为“原型污染(prototype pollution)”的罕见安全漏洞。 什么是原型污染?顾名思义,原型污染就是指攻击者通过某种手段修改 JavaScript 对象的 prototype。 JavaScript 对象就跟变量一样,但它不是存储一个值(var car =“Fiat”),而是可以包含基于预定义结构的多个值 (var car ={type:"Fiat", model:"500", color:"white"})。 prototype 定义了 JavaScri...

21
21
发表于大前端专区
2019/04/11 07:43

时隔一年,jQuery 发布 3.4.0 版本

jQuery 团队的核心开发者 Timmy Willison 今天在官网宣布了 jQuery 3.4.0,这距离上个版本 3.3.x 系列的推出已过去了一年多。 Timmy 表示这可能是 3.x 分支的最后一个小版本更新,接下来的工作重心将是 jQuery 4.0 大版本的更新。 jQuery 3.4.0 的更新内容主要是错误修复和功能改进,列举部分如下: 针对 .width 和 .height 的性能改进 支持 nonce 和 nomodule 针对 Radio 元素新增事件处理程序中的预期状态 // 示例代码 v...

55
13
发表于大前端专区
2018/07/27 08:07

GitHub 改版,重构页面移除了 jQuery 真的有必要吗?

GitHub 的前端团队还乘机移除了页面中的 jQuery: 值得一提的是,GitHub 前端团队并未使用其它框架来代替 jQuery,而是使用原生 JS: 用 querySelectorAll 来查询 DOM 节点; 使用 fetch 代替 ajax(在不支持的浏览器上使用 XHR); 使用代理事件来进行事件处理; 为一些尚未实现的 DOM 标准写了 polyfill; 更多的使用自定义元素(CustomElement)。 他们把其中的一些成果也在 GitHub 上开源了: Fetch polyfill: https://gith...

48
22
发表于大前端专区
2018/01/21 07:36

jQuery 3.3.1 发布,修复 3.3.0 版本中的依赖关系

在刚刚发布完 3.3.0 版本后, jQuery 又紧跟着发布了 3.3.1 版本。这两个版本的代码本身是相同的,只是针对 5.0+版本的 npm,添加了一些发布依赖(仅在发布期间使用)。 下载地址: https://code.jquery.com/jquery-3.3.1.js https://code.jquery.com/jquery-3.3.1.min.js 或用 npm : npm install jquery@3.3.1 jQuery 还发布了一个去除了 ajax 和一些特效模块的迷你版本: https://code.jquery.com/jquery-3.3.1.slim.js htt...

1
5
发表于大前端专区
2018/01/20 07:43

jQuery 3.3.0 发布,弃用一些无用的方法和功能

jQuery 3.3.0 已发布,这是一个全新的小版本,包含一些新特性和改进,并弃用了一些已经无用的方法: jQuery.now (#2959, 909e0c99) jQuery.isWindow (#3629, c18d6085) jQuery.camelCase(#3384, 64a28928) jQuery.proxy (not slated for removal) (#2958, 3a8e4474) jQuery.type (#3605, 1ea092a5) jQuery.isNumeric (#2960, c4494d4a) jQuery.isFunction (#3609, 3d732cca) Event aliases (#3214, 022b69a4) 这些方法随着时间的...

15
3
发表了资讯
2017/03/21 07:55

jQuery 3.2.1 发布,Bug 修复版本

jQuery 3.2.1 发布了,这个版本包括一些修补程序,用于在 4 天前在 3.2.0 版本中引入的回归。官方也希望可以尽快发布这个补丁程序,以减少在升级时遇到的任何错误。最重要的一点是检索没有显式设置尺寸的内联元素的宽度或高度。现在应该会正常工作。下面提供了完整的更改列表。也可以参阅 3.2.0 的博客帖子以了解修复的错误和改进。 如果尚未升级到 jQuery 3+,请查看 3.0 升级指南。jQuery Migrate 3.0 插件将帮助你识别代码中...

9
3
发表了资讯
2017/03/17 08:31

jQuery 3.2.0 发布,支持自定义 CSS 属性

jQuery 3.2.0 发布了,此版本包括一些错误修复,改进和一些弃用,如果从 jQuery 3.0+ 升级,应该不会存在兼容性问题。 如果尚未升级到 jQuery 3+,请查看 3.0 升级指南。jQuery Migrate 3.0 插件将帮助你识别代码中的兼容性问题。 值得关注的更新: Added support for custom CSS properties (#3144). Deprecated jQuery.holdReady (#3288). Deprecated jQuery.nodeName (#3475). Deprecated jQuery.inArray (#2961). Fixed a b...

23
23
发表了资讯
2017/02/12 17:36

2017 年 2 月一些不错的 jQuery 插件汇总

1. imageR 这个jQuery插件允许您添加data属性到一个图像标签或元素,实现根据设备的尺寸展示相应大小的图片。 2. Particler Particler一个纯JavaScript插件,它基于你的图像创建一个Canva粒子。 可以很容易地设置粒子的行为,并做出真棒的东西。 没有依赖性,用法简单,定制容易,拥有15个选项来设置粒子行为,已经有三种内置的粒子形状并提供良好的文档和例子。 3. jQuery Text Fade Delay jQuery Text Fade Delay 一个jQuery插...

5
168
发表了资讯
2016/12/15 07:16

jQuery EasyUI 1.5.1 发布,用户界面插件集合

更新 错误 datagrid:调用“updateRow”方法后丢失选中和复选标记,已修复。 tabs::调用“update”方法时trip工具定位错误,已修复。 window:高度设为“auto”时,移动窗口后设置会丢失,已修复。 messager:显示进度消息窗口并立即关闭时发生例外错误,已修复。 form:“clear”方法无法清除combobox组件选中的下拉项目中,已修复。 改进 textbox:给textbox加入定制样式时可以使用“cls”属性了。 numberbox:用户可以设置意...

13
25
发表了资讯
2016/11/17 16:01

2016 年 11 月最好的 jQuery 插件

1. Gradientify Gradientify 是一个简单的 jQuery 插件,它提供了 CSS 梯度过渡效果。 2. PrognRoll PrognRoll 是一个微小的 jQuery 插件,用于在页面上创建滚动进度条。 您还可以自定义进度条。 3. jqGifPreview jqGifPreview 是一个 jQuery 插件用来创建 GIF 预览就像 Facebook 和微博。 这个插件使用第一帧的 GIF 图像作为预览图像。 4. Shave Shave 是一个零依赖 JavaScript 插件,它截断多行文本以适合根据 max-height 定好...

6
237
发表了资讯
2016/09/24 00:00

jQuery 3.1.1 发布,轻量级 js 框架

jQuery 3.1.1 发布了,该版本包括一些 BUG 修复和改进。 Jquery 是继 prototype 之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。 详细更新内容请查阅:更新日志 下载地址: https://code.jquery.com/jquery-3.1.1.js http...

20
19
发表了资讯
2016/07/08 00:00

jQuery 3.1.0 发布

jQuery 3.1.0 发布了,该版本主要修复之前 3.0 版本潜在的一些问题。 本次发布主要改进如下: Ajax Breaking change: Special-case Deferred methods removed from jQuery.ajax Breaking change: Cross-domain script requests must be declared Breaking change: Hash in a URL is preserved in a jQuery.ajax() call Feature: New signature for jQuery.get() AND jQuery.post() Attributes Breaking change: .removeAttr() ...

10
12
发表了资讯
2016/06/10 00:00

jQuery 3.0 最终版发布

jQuery 3.0 最终版发布了。jQuery 3.0将是jQuery的未来。但如果你需要IE6-8支持,您可以继续使用最新版本1.12。 为了帮助用户升级,jQuery 发布了全新的3.0升级指南,以及 jQuery Migrate 3.0 插件将帮助您识别代码中的兼容性问题。 您可以从jQuery CDN获取文件,或者直接访问链接: https://code.jquery.com/jquery-3.0.0.js https://code.jquery.com/jquery-3.0.0.min.js 您也可以从以下npm获得更新: npm install jquery@...

54
65
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
29 评论
558 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部