jQuery Core 3.0升级指南

来源:互联网 发布:网络红人丁可 编辑:程序博客网 时间:2024/06/05 18:06

jQuery Core 3.0升级指南

链接概述

随着3.0版本的主要版本,jQuery Core团队已经利用这个机会对API进行了修改,并修复了可能会破坏某些代码的更改的错误。这包括删除先前已弃用的公共API,更改或删除未记录的API,以及对具体输入的现有API的已记录或未记录行为的更改。

链接浏览器支持

截至jQuery 3.0,支持以下浏览器:

  • Internet Explorer:9+
  • Chrome,Edge,Firefox,Safari:当前和当前 - 1
  • 歌剧:现在
  • Safari Mobile iOS:7+
  • Android 4.0以上版本

jQuery团队策略只能在主要版本更新中更改浏览器支持,因此此列表将适用,直到jQuery 4至少达到。

属性

链接断开更改:.removeAttr()不再将属性设置为false

在此之前的jQuery 3.0,使用.removeAttr()上的布尔属性如checkedselected,或readonly也将设置相应的命名属性false对于古代版本的Internet Explorer而言,此行为是必需的,但对于现代浏览器来说不是正确的,因为该属性表示初始值,该属性表示当前(动态)值。

.removeAttr( "checked" )在DOM元素上使用几乎总是错误的唯一可能有用的是如果DOM稍后将被序列化回HTML字符串。在所有其他情况下,.prop( "checked", false )应该使用。

断开更改:没有选择的select-multiple返回一个空数组

jQuery的3.0之前,调用.val()一个在<select multiple>选定返回,没有元素的元素null这是不方便的,因为如果至少选择一个值,返回值将是一个数组。此外,如果所有选项都被禁用,jQuery已经返回一个空数组。为了提高一致性,现在没有选择的情况会返回一个空数组。

断开更改:已弃用已.size()删除

.size()从jQuery 1.8开始被淘汰,并在jQuery 3.0中删除了该.length属性。

已弃用:jQuery.parseJSON()

由于jQuery 3.0支持的所有浏览器都支持本机JSON.parse()方法,所以我们不赞成使用jQuery.parseJSON()

正式支持Promise


官方原文参考:

https://jquery.com/upgrade-guide/3.0/