1

我有一个在 Chrome 11 和 Firefox 4 中运行良好的 jQuery 脚本,但它在 IE8 中似乎被破坏了。它似乎与使用带有选择器的jQuery parents()函数有关。它在 IE8 中运行时不返回任何元素。

我已经创建了我的问题的简化版本,它在 jsFiddle上显示了相同的症状,以防止这里出现大量代码。

谁能告诉我这里可能发生了什么?

更新:使用最接近()似乎会导致类似的行为,但在这种情况下似乎更合适。

4

2 回答 2

2

顶级元素必须是部分吗?您似乎遇到了 IE8 中缺乏对 HTML5 的支持而限制您的领域之一。如果将部分更改为 div,则代码将按原样工作。

浏览器中的部分支持。

于 2011-05-10T19:04:00.473 回答
1

查看您的 jsFiddle 中的选择器,如果我刚刚摆脱了选择器的第二部分,我就能让它在 IE8 中正常工作。

$(document).ready( function(){
     $('a[data-detailed]').live('click', function(event){
        var a = $(this);
        var key= a.attr('data-detailed');

        $(".detailedOverview[data-detailed="+key+"]").slideToggle('fast');
        $(".masterOverview").slideToggle('fast');
        event.preventDefault();   
    });

    $('a[href=#back]').live('click', function(event){
        var a = $(this);
        var detailedOverview= a.parents("[data-detailed]");

        $(".masterOverview").slideToggle('fast');         
        detailedOverview.slideToggle('fast');

        event.preventDefault();   
    });
});

在每个选择器中,选择器后面都有一个“,fileparent”。没有必要像这样指定父母并摆脱它。实际上,您可以完全摆脱 fileparent。

于 2011-05-10T15:02:32.747 回答