jQuery 3.0 正式发布,兼容 Promises/A+

jQuery 3.0 正式发布,此版本从 2014 年 10 月份就开始开发,jQuery 团队想打造成轻量级的,速度更快,向后兼容的 jQuery 版本。此版本移除了所有旧版 IE 的方法,并且借鉴了一些现代 web APIs。如果用户想要继续支持 IE 6-8,请使用最新的 jQuery 1.12 版本。

为了更方便用户升级,jQuery 3.0 提供了全新的 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 获取:

此外,发布了 jQuery Migrate 3.0:

https://code.jquery.com/jquery-migrate-3.0.0.js

https://code.jquery.com/jquery-migrate-3.0.0.min.js

更多从 jQuery 1.x/2.x 升级到 jQuery 3.0 的迁移问题请看 jQuery Migrate 1.4.1 博文。

更轻量的构建版本

jQuery 团队发布了一个更轻量的 “slim” 版本,不包括 ajax,动画效果和当前废弃的代码。有时候用户不需要 ajax,只要使用一些独立库就可以处理 ajax 请求。或者使用 CSS 和类操作的结合来制作 web 动画效果。jQuery 的性能得到了很大的提升,slim 构建版本比之前常规的构建小了 6k,也就是 23.6k vs 之前的 30k。 文件提供在 npm 和 CDN:

https://code.jquery.com/jquery-3.0.0.slim.js

https://code.jquery.com/jquery-3.0.0.slim.min.js

此外,jQuery 3.0 还兼容 jQuery UI 和 jQuery Mobile。

jQuery 3.0 主要改进

  • jQuery.Deferred 兼容 Promises/A+

  • Deferreds 新增 .catch() 方法

  • 错误事例会抛出错误提示

  • 移除废弃的事件别名,比如 , , 和

  • 动画效果现在使用

  • 加速一些 jQuery 自定义选择器

更多改进内容请看 jQuery 博客。

微信订阅号:开源派 (opensourcepie)

开源派官网:osp.io 作者:叶秀兰

前端面试题《JQuery》

$() 函数是 jQuery() 函数的别称,$()函数用于将任何对象包裹成 jQuery对象,接着被允许调用定义在jQuery对象上的多个不同方法。甚至可以将一个选择器字符串传入$()函数,它会返回一个包含所有匹配的DOM元素数组的jQuery对象。这个问题我已经见过好几次被提及,尽管它非常基础,它经常被用来区分一个开发人员是否了解jQuery。

jQuery支持不同类型的选择器,例如ID选择器、class选择器、标签选择器。鉴于这个问题没提到ID和class,可以用标签选择器来选择所有的div 元素。jQuery代码:$(\”div\”),这样会返回一个包含所有5个div标签的jQuery 对象。

这对于很多java零基础学jQuery的初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个jQuery对象,你可以对它调用多个 jQuery方法,比如用text()获取文本,用val()获取值等等。而this代表当前元素,它是JavaScript关键词中的一个,表示上下文中的当前DOM元素。你不能对它调用 jQuery方法,直到它被 $() 函数包裹,例如 $(this)。

除了报错节省服务器带宽以及更快的下载速度这许多的好处之外, 最重要的是,如果浏览器已经从同一个CDN下载类相同的jQuery版本, 那么它就不会再去下载它一次,因此今时今日,许多公共的网站都将jQuery用于用户交互和动画, 如果浏览器已经有了下载好的jQuery库,网站就能有非常好的展示机会。

方法链是对一个方法返回的结果调用另一个方法,这使得代码简洁明了,同时由于只对DOM进行了一轮查找,性能方面更加出色。

可以用 jQuery方法appendTo()将一个HTML元素添加到DOM树中。这是jQuery提供的众多操控DOM的方法中的一个。可以通过appendTo()方法在指定的DOM元素末尾添加一个现存的元素或者一个新的HTML元素。

(1)get()取得所有匹配的DOM元素集合;

(2)get(index)取得其中一个匹配的元素.index表示取得第几个匹配的元素;

(3)append(content)向每个匹配的元素内部追加内容;

(4)after(content)在每个匹配的元素之后插入内容;

(5)html()/html(var)取得或设置匹配元素的html内容;

(6)find(expr)搜索所有与指定表达式匹配的元素;

(7)bind(type,[data],fn)为每个匹配元素的特定事件绑定事件处理函数;

(8)empty()删除匹配的元素集合中所有的子节点;

(9)hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法;

(10)attr(name)取得第一个匹配元素的属性值。

获取页面的元素;修改页面的外观;改变页面大的内容;响应用户的页面操作;为页面添加动态效果;无需刷新页面,即可以从服务器获取信息;简化常见的javascript任务。

jQuery选择器支持CSS里的选择器,jQuery选择器可用来添加样式和添加相应的行为,CSS中的选择器是只能添加相应的样式。

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

jQuery 安装

本节我们学习 jQuery 的安装,我们在实际项目中,如果要使用 jQuery,则需要先下载 jQuery 库,然后把它引入到要使用的网页中。

jQuery 有下面几种使用方法:

  • 从官网下载 jQuery 库,然后引入到页面中。
  • 使用命令安装 jQuery,例如 npm、bower 命令。
  • CDN 中载入 jQuery, 比如从 Google 中加载 jQuery。

我们 可以在 jQuery 的官网下载 jQuery,下载地址为:https://jquery.com/download/。

有两个版本的 jQuery 可供下载:

  • 生产版本:用于实际网站中,已被精简和压缩。
  • 开发版本:用于测试和开发,未压缩,是可读代码。

我们根据需要下载相应的版本,例如我下载的是 jquery-3.5.1.min.js 文件,然后可以把下载好文件放到与网页相同的目录中,这样更方便使用。

接着就可以在页面中引入 jquery 文件啦,引入格式如下所示:

jQuery 在 npm 上注册为软件包,所以我们可以使用 npm CLI 命令安装最新版本的 jQuery:

或者使用 Yarn 命令安装也可以:

使用这两种方式安装 jQuery,我们可以在 node_modules/jquery/dist/ 中找到一个未压缩的发行版,一个压缩的发行版和一个映射文件。

除了 npm,jQuery 还通过 Bower 注册为软件包,所以我们也可以使用 bower 命令安装最新版本的 jQuery:

使用这种方式,会将 jQuery 安装到 Bower 的安装目录,默认为 bower_components。我们可以在 bower_components/jquery/dist/ 目录下找到一个未压缩的发行版,一个压缩的发行版和一个映射文件。

如果我们不希望下载并存放 jQuery 的话,我们也可以从 CDN(内容分发网络)引用它。

CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

比如谷歌和微软服务器都存有 jQuery,如果我们需要引用的话,可以像下面这样:

  • Google 引用 jQuery:<script src=\”https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js\”></script>
  • Microsoft 引用 jQuery:<script src=\”https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.5.1.min.js\”></script>

上面我们讲到了 jQuery 的几种安装方式,在后面的学习章节中,我们会采用直接在官网下载 jQuery 库,然后在页面中引用的方式来使用 jQuery 。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。