当第二个div有类时,将类添加到元素

时间:2015-03-11 10:46:39

标签: javascript jquery

我有一个Li元素(下拉列表),当单击父div(按钮)时,它会获得一个Active类。当这个元素有这个类时,我想给另一个div同一个类。当再次单击li元素(下拉列表)时,将删除活动类,然后我想删除第二个div上的活动类。

到目前为止我得到了什么:

$('document').ready(function() {
    if ($('li').hasClass('active')) {
        $("#site-overlay").addClass("active");
    }
});

这在控制台的方式上有点作用 - 它给我的第二个div正确的类。虽然它不能正常工作,我想我不能在pageload上调用它?它也没有删除该类。

2 个答案:

答案 0 :(得分:0)

$('li').on('click', function(){
    if($(this).hasClass('active')) {
       $("#site-overlay").addClass("active");
    } else {
       $("#site-overlay").removeClass("active");
    }
});

答案 1 :(得分:0)

您当前的示例未在active元素上设置LI类,因此没有任何反应,但它应该是这样的:

$(function () {
    $('ul.megamenu > li').on('click', function () {
        $("#site-overlay").toggleClass("active", $(this).hasClass('active'));
    });
});

toggleClass可以使用第二个布尔参数来控制基于真/假值打开/关闭类。

注意:我攻击以下JSFiddle只是为了展示一些有用的东西(点击只是暂时切换网站覆盖状态):

https://jsfiddle.net/TrueBlueAussie/doxdmxmL/16/