【问题标题】:Jquery script issue IE7 add/remove classJquery 脚本问题 IE7 添加/删除类
【发布时间】:2010-12-11 14:42:16
【问题描述】:

我的脚本遇到了一些 IE7(可能是 IE6)问题。

<script type="text/javascript">
$(document).ready(function(){
    $(".testimonial:first").show();
    $("li.testID:first").addClass("selectedName");

    $("li.testID").click(function(){
        $("li.testID").removeClass("selectedName");
        $(this).addClass("selectedName");
        $(".testimonial").hide();
        $(this).next(".testimonial").css({
                zIndex:'9999',
                }).fadeIn("slow");
    });
});
</script>

这意味着将 selectedName 类添加到列表中的第一项(基本上使其变为粗体)并显示具有类“testimonial”的相应 div。然后,一旦您单击另一个,它就会添加类并重新加载 div。

在 FF 和 Safari 中运行良好,但在 IE7 中我什么也得不到,它不会在文档就绪时交换第一类,也不会在单击时交换任何内容。

有什么想法吗??

谢谢!

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    从这段代码中:

    $(this).next(".testimonial").css({
                zIndex:'9999',
    }).fadeIn("slow");
    

    我很确定 IE 会在最后的逗号上窒息:

                zIndex:'9999',
    

    去掉逗号,看看是不是这样。


    为了扩展我的答案,我有 99.99% 的把握 IE 不允许在闭合方括号之前使用逗号。我不记得在关闭大括号之前它是否可以容忍一个,但值得一试。

    【讨论】:

    • 或将其更改为可能预期的分号
    • 哇,抱歉,我真的应该注意到这一点。绝对解决了这个问题谢谢!
    • 我认为他下面可能还有其他东西,他删除了它并且忘记删除逗号。我不认为分号是正确的,因为它是一个对象文字: {one: '1', two: '2'} 是正确的,而: {one: '1'; two: '2'} 是错误的,因为 one: '1' 不是指令。
    • 不客气,这个混蛋曾经一直让我着迷,所以现在我很容易把它归零:) 请注意,你的语法实际上是正确的,这是那些烦人的 IE 之一错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多