JavaScipt框架jquery发布1.1.4版本

  很久没有去关注JQuery网站了,今天突然发现网站改版了,把插件栏目都调整了一下,我在想,该不会有新版本发布了吧!于是回到首页一看果然 Jquery.js 1.1.4发布了.

  不知道这次有了些什么改进,希望能把与AjaxPro在.NET1.1中Json冲突的问题解决了,这个问题一直郁闷着我,用AjaxPro开发快,不过只能取取数据,而JQuery可以帮助快速地实现很多功能。两个没法一起用,前段时间都找了到久。

  还好后边AjaxPro发布了个新版本,才解决了这个问题(不过只是在.NET2.0中才解决了1.1中依然存在)

  刚刚在官方中博客中看到,更新有提高获取对象的速度,有一个比较:http://www.120hrb.com

  $(”#id”) Improvements

  浏览器 jQuery 1.1.3 jQuery 1.1.4 提高比例

  IE 6 651ms 70ms 830%

  Firefox 2 1355ms 27ms 4919%

  Safari 3 101ms 14ms 620%

  Opera 9 270ms 62ms 335%

  Average improvement: 1676%

  $(”elem”) Improvements

  浏览器 jQuery 1.1.3 jQuery 1.1.4 提高比例

  IE 6 661ms 451ms 47%

  Firefox 2 1717ms 143ms 1100%

  Safari 3 99ms 83ms 19%

  Opera 9 226ms 198ms 14%

  Average improvement: 295%

  .each() Improvements

  浏览器 jQuery 1.1.3 jQuery 1.1.4 提高比例

  IE 6 200ms 30ms 567%

  Firefox 2 468ms 29ms 1514%

  Safari 3 17ms 11ms 54%

  Opera 9 45ms 25ms 80%

  Average improvement: 554%

  新增了slice的方法,作用是取得对象中的第几个,如:

  $("div") 这个方法可能取到很多个对象,哪你可以用 $("div").slice(n)来取出第n个对象,补足了以前要用each来找中间的对象的麻烦。

  $().ready(function(){

  alert($("div").slice(0).html());

  alert($("div").slice(1).html());

  alert($("div").slice(2).html());

  alert($("div").slice(-1).html()); //取最后个

  });

  1第一个

  2第二个http://www.hrbfkyy120.com

  3中间的

  4中间的

  5这个最后个div $("div").slice(-1);

  :has方法

  //取所有div里面带有p的对象

  $("div:has(p)")

  另外修正了N多BUG,具体只有慢慢体验了,快去JQuery官方网站下载吧。

  下载压缩后的1.1.4版jquery:jQuery 1.1.4 (Compressed, 21KB)

  下载完成注释未压缩版的jquery:jQuery 1.1.4 (65KB)

  下载帮助文件及所有源代码包:jQuery 1.1.4 (Docs, Source Code)

  几个函数的速度提升值对比:

  $(”#id”) 函数在firefox2下提升了4919%,从1.1.3版的1355ms提升到27ms,ie6下也提升了830%。各浏览器的执行速度平均提升1676%!!!

  $(”elem”) 函数在firefox2下提升了1100%,从1.1.3版的1717ms提升到143ms,ie6下也提升了47%。各浏览器的执行速度平均提升295%!!!

  .each() 函数在firefox2下提升了1514%,从1.1.3版的468ms提升到29ms,ie6下也提升了567%。各浏览器的执行速度平均提升554%!!!

  列举几个新加的函数:http://www.mlybyby.com

  .slice() //更直观地从元素组中选取元素

  //使用方法:

  // $(”div”).slice(0,1); //选第一个div

  // $(”div”).slice(1,-1); //从所有div中选取第一个和最后一个

  :has() //从一组元素组中选取出有指定属性的一组

  //使用方法:

  // $(”a:has(img)”) //所有的图片链接

  // $(”div:has(a:has(img))”) //所有有图片链接的div

  .extend() //扩展函数

  //使用方法:

  // jQuery.extend(

  // { name: “John”, location: { city: “Boston” } },

  // { last: “Resig”, location: { state: “MA” } }

  // );

  //结果:

  // { name: “John”, last: “Resig”, location: { state: “MA” } }

  .noConflict(true) //防止jquery与别的框架冲突(给jquery换名)还可以将jquery引一个已经存在的命名空间里去

  //使用方法:

  // var jq = jQuery.noConflict(true);

  // jq(”#id div”).hide();http://www.mlyrx120.com

  每次的版本更新都会大幅提升 selector 的速度。不过这次的版本更新作为 1.1.x 的最后一个版本,为了给九月份的 1.2 版做铺垫,去掉了一些老版本中的方法。因此在使用之前最好确认一下原有代码的兼容性。

  比如在 Validation 插件的 showLabel 方法中,作者采用 label = jQuery("<" + this.settings.errorElement + ">") 的方式来新建一个 dom 对象,在 1.1.4 中必须改为 label = jQuery("<" + this.settings.errorElement + ">") 才能被正常创建。否则在进行form输入字段验证的时候在IE下永远不会看到任何的提示信息显示出来。

  具体 1.1.4 中 Deprecated 掉的内容包括:

  $("div//p") , $("div/p") , $("p/../div") , $("div[p]") , $("a[@href]") 这几种 selector 写法

  带参数的 $("div").clone(false) 方法 ( 改而使用 .clone().empty() )

  $("div").eq() , $("div").lt() , $("div").gt() 均由新增加的 slice 方法来实现等价功能

  $("#elem").loadIfModified("some.php") , $.getIfModified("some.php") 均由调用底层的 $.ajax 方法来实现等价功能

  $.ajaxTimeout(3000) 需要改而使用 $.ajaxSetup({timeout: 3000}) 来实现http://rl.82676666.com

  $(…).evalScripts()

posted @ 2016-06-23 14:52  爱无边界  阅读(143)  评论(0)    收藏  举报