2011-12-07 21 views
4

我建立我的网站上的jQuery版本1.4.2(没有意识到任何更新),但现在它似乎并没有在IE8中工作。在寻找解决方案时,我想到了更新。当我使用jQuery 1.7.1。然而,会发生一些奇怪的事情。比如这个例子上的jsfiddle与jQuery 1.4.2和1.7.1的区别?

http://jsfiddle.net/64d2T/

在1.4.4运行这个例子当它工作正常,但是当我在1.7.1运行代码的格式混乱。

有没有人知道这个问题,我是做一些基本的东西错了?

+0

这是什么应该做的? –

+0

悬停并单击并更改图像并显示日期(如果可用)它在1.4.4 – Maurice

+0

中尝试使用'prop'而不是'attr'进行测试时的工作原理。 –

回答

3

的。新增()方法似乎是工作的不同......来提供情境解决了这个问题:

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

更换:

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

有:

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

工作确实很好!谢谢!但是,我应该了解更多的差异吗? – Maurice

+0

更新列表是为每个新版本制作的 - 并且还会有其他区别...查看博客 - > http://blog.jquery.com/2011/11/03/jquery-1-7-released/ – ManseUK

+0

嗯..它仍然不能在IE8中工作。有什么建议么? – Maurice

7

它从项目依赖于项目,升级时应该怎么做jQuery的:

  1. ISNUMERIC()是新的,要小心,因为旧版本jQuery.isNaN()已被弃用
  2. jqXHR成功和错误已弃用
  3. 当渲染文本(),白内容空间问题跨浏览器。
  4. ATTR()和道具()方法是不一样的,当你使用ATTR(可能会造成麻烦),并高于设定值可以说为:其中priour 1.6返回真
    $("input).attr("checked")
    ,现在你应该使用
    $("input:checked")
  5. 在1.5 AJAX API被改写

而且这是一个好主意,通过所有的发行说明和理解的任何改变的目的,并就你应该在你的项目检查的一些注意事项 http://docs.jquery.com/Downloading_jQuery#Past_Releases

+0

attr()和prop()是最重要的我,因为它可以使升级到最新的jQuery版本时,使错误的网页,感谢队友:乙 – AgelessEssence