.addClass没有在页面加载时添加类

Nic*_*k M 0 javascript jquery

这是我的代码:

jQuery(function($){
    // ADD CLASS ON LOAD FUNCTION SHOULD WORK HERE

    (function(){
      $('.block-layered-nav dt').addClass('closed');
    });

    $(".block-layered-nav dt").click(function(){
        if($(this).next("dd").css("display") == "none"){
            $(this).next("dd").slideDown(200);
            $(this).removeClass("closed");
        } else {
            $(this).next("dd").slideUp(200);
            $(this).addClass("closed");
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

任何人都可以注意到这个问题吗?

第一个函数应该将dt元素'closed'添加到元素中,但是当页面加载时不是这种情况.

另一个代码只是简单地切换类,这工作正常.

Sho*_*omz 6

你只是定义一个匿名函数,但从不调用它:

(function(){
    $('.block-layered-nav dt').addClass('closed');
});
Run Code Online (Sandbox Code Playgroud)

只需将上面的内容更改为:

$('.block-layered-nav dt').addClass('closed');
Run Code Online (Sandbox Code Playgroud)