IE8 toggleClass无法正常工作

时间:2013-05-21 13:57:52

标签: jquery internet-explorer-8 toggleclass

嗯,我有一个菜单,我希望有一个名为active的课程,当它活跃时,显然。

要切换这个类我正在使用jQuery切换功能,但它只是在js元素中激活它。如果我检查dom元素,则永远不会设置此类。但是我需要这个类,因为我的CSS样式。

我知道有很多关于toggleClass jQuery的主题,但它们不合适(至少我找不到合适的东西)

这里有一些代码:

$('#menu').on('click', '.tab span', function (e) {
    e.stopPropagation();
    var $tab = $(this).parent('.tab');
    $tab.siblings('.tab.active').removeClass('active');
    $tab.toggleClass('active');
});

HTML标记

<div id="menu">
    <div class="tab">
        <span></span>
    </div>
</div>

它适用于所有浏览器,IE8除外 提前谢谢。

2 个答案:

答案 0 :(得分:1)

请改为尝试:

$('#menu').on('click', '.tab span', function (e) {
    e.stopPropagation();
    var $tab = $(this).parent('.tab');
    $tab.addClass('active').siblings('.tab').removeClass('active');
});

答案 1 :(得分:0)

试试这个:

$('#menu').on('click', '.tab span', function (e) {
    e.stopPropagation();
    var $tab = $(this).parent('.tab');

    // remove active from all tabs
    $('#menu .tab').removeClass('active');

    // make current tab as active
    $tab.addClass('active');
});