从jQuery版本升级注意事项(主要是从1.1升级到1.2之后)

网上大部份的资料都是以jQuery 1.12为基础讲的。1.12至1.21更新了不少东西,如果不看官方的更新文档或者官方最新的API可能对开发造成影响。

1、选择器不支持XPath

XPath自1.2开始不再被jQuery默认支持。您可以通过插件形式来继续使用XPath,但是强烈建议您使用官方的选择器来替代XPath。

[code]$("div//p") //XPath写法
$("div p") //标准写法

$("div/p") //XPath写法
$("div>p") //标准写法

$("p/../div") //XPath写法
$("p").parent("div") //标准写法

$("div[p]") //XPath写法
$("div:has(p)") //标准写法

$("a[@href]") //XPath写法
$("a[href]") //标准写法[/code]

2、使用slice替代eq,lt,gt

eq及lt,gt方法非常好用,但官方从1.1.4开始放入了slice方法来替代它们,中间有一版本完全取消了eq(好像是1.2),然后又因为抗议太多,又把eq加回来了(群众的力量是强大的),但是难保eq在以后的版本还会继续存在。建议换成slice

[code]$("p").eq(0) //使用eq方法
$("p").slice(0,1) //使用slice方法

$("p").lt(2) //使用lt方法
$("p").slice(0,2) //使用slice方法

$("p").gt(2) //使用lt方法
$("p").slice(3) //使用slice方法[/quote]

3、contains方法官方不再赞成使用(有被取消掉的可能)

$("p").contains('text') //使用contains方法
$("p").filter(":contains(text)") //使用filter方法+选择器

4、loadIfModified,getIfModified,ajaxTimeout方法被取消

这3个方法应该算是冷门方法了,用的人应该是很少很少,替代方法如下。

[code]$("#elem").loadIfModified("some.asp") //使用loadIfModified方法
$.ajax({ //使用ajax方法(JSON参数里加入了ifModified)
url: "some.asp",
ifModified: true,
success: function(html) {
$("#elem").html(html)
}

});

$("#elem").getIfModified("some.asp") //使用getIfModified方法
$.ajax({ //使用ajax方法(JSON参数里加入了ifModified)
url: "some.asp",
ifModified: true

});

$.ajaxTimeout(3000) //使用ajaxTimeout方法
$.ajaxSetup({timeout: 3000}) //使用ajaxSetup方法[/code]

此外,版本更新里对动画效果也做了修改,具体看官方API的animate部份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值