与jQuery 1.4.2和1.7.1的区别?

时间:2011-12-07 11:54:02

标签: jquery

我在jQuery版本1.4.2上构建我的网站(没有意识到任何更新),但现在它似乎在IE8中不起作用。在搜索解决方案时,我考虑了更新。当我使用jQuery 1.7.1。然而,一些奇怪的事情发生了。例如关于jsFiddle的这个例子

http://jsfiddle.net/64d2T/

在1.4.4中运行此示例时,它工作正常,但是当我在1.7.1中运行代码时,格式混乱了。

有人知道这个问题而且我做了一些基本的错误吗?

2 个答案:

答案 0 :(得分:7)

这取决于从项目到项目,升级jQuery时应该怎么做:

  1. isNumeric()是新的,请注意旧版本jQuery.isNaN()已被弃用
  2. jqXHR成功与错误已被弃用
  3. 使用text()呈现内容时,空格会发出跨浏览器。
  4. attr()和prop()方法不一样,并且当你使用attr()时可能会引起麻烦,而且设置值可以说:
    $("input).attr("checked") 
    这个priour到1.6返回true,现在你应该使用{ {2}}
  5. 在1.5中重写了Ajax API
  6. 此外,最好仔细阅读所有发行说明并了解任何更改的目的,并记下您应该在项目中检查的内容 http://docs.jquery.com/Downloading_jQuery#Past_Releases

答案 1 :(得分:3)

.add()方法似乎工作方式不同......提供上下文修复了问题:

http://jsfiddle.net/64d2T/5/

更换:

$(this).find('.news-title-description').add('.news-meta').add('.news-item-link').add('.news-header').addClass('active-news-item');

with:

$(this).find('.news-title-description').add('.news-meta',$(this)).add('.news-item-link',$(this)).add('.news-header',$(this)).addClass('active-news-item');