2010-09-10 80 views
0

http://dev.mindboiler.lv/(你会被带到介绍页面,只需点击标识进入真正的网站)jQuery脚本在IE和Opera失败

这是网站,我目前的工作。您可以将语言更改为英语以更好地理解它,但无论如何,它都是虚拟文本。
有这些Read more链接,点击后,执行下面的jQuery:

$('.content-item .readmore').toggle(function() { 
    parent = $(this).parent(); 
    $(parent).children('div.next').fadeIn(); 
    $(this).html("Read less »"); 
}, function() { 
    parent = $(this).parent(); 
    $(parent).children('div.next').fadeOut(); 
    $(this).html("Read more »"); 
}); 

火狐,Safari,Chrome的工作就像一个魅力,不过IE(所有版本)和Opera不希望执行它正常。

任何解决方案,以在IE和Opera工作?

P.S.不是JavaScript/jQuery大师,因此该脚本看起来像垃圾。

在此先感谢!

+0

有时候,如果事情不能在IE _and_歌剧院工作,这是一个迹象表明,你的标记结构是错误的,而不是脚本(如果它只在IE中不起作用,这可能表明您正在编写出色的符合标准的代码。)您是否验证了该页面? http://validator.w3.org – 2010-09-10 14:10:46

回答

1

它看起来好像你的<div class="next">是你的<div class="content-item">的兄弟姐妹,所以为什么甚至会打扰parent()函数。

它简化到这一点,看看它是否工作:

$('.content-item .readmore').toggle(function() {   
    $(this).next().fadeIn(); 
    $(this).html("Read less &raquo;"); 
}, function() { 
    $(this).next().fadeOut(); 
    $(this).html("Read more &raquo;"); 
}); 
+0

由于'Read more'链接是'.content-item'的最后一个子元素,它不会与'.next()'一起工作,但是,将它改为'.prev ()'做到了!感谢您指出正确的方向,接受! – jolt 2010-09-10 14:13:35