代码之家  ›  专栏  ›  技术社区  ›  MiffTheFox

jquery addclass不工作

  •  0
  • MiffTheFox  · 技术社区  · 15 年前

    首先,我检查了所有新手的错误。根据Firebug,在调用addClass之前,该元素没有class属性集,然后class属性被设置为“”。

    JavaRect公司:

    $("#filter_banned").change(function(){
        if ($("#filter_banned").is(":checked")) $("#admin-userList").addClass("appliedFilter_banned");
        $("#admin-userList").removeClass("appliedFilter_banned");
    })
    

    将调用addClass,然后将其包装在alert(e.length)alerts 1中,这样我知道它不仅可以找到admin用户列表,还可以调用if thingy。

    另外,admin用户列表是 <ul> 标签。

    下面是我的CSS:

    .appliedFilter_banned .user.banned { display: none; }
    

    应该只是一个显示所有网站用户的列表,以及一个隐藏任何已被禁止的用户的复选框。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Phil.Wheeler    15 年前

    我可能误读了一些东西,但这句话不是:

    $("#admin-userList").removeClass("appliedFilter_banned");
    

    就把你想要的课直接撤掉?

        2
  •  3
  •   Kobi    15 年前

    我可能遗漏了一些东西,但看起来你在添加类 "appliedFilter_banned" ,然后立即取出。你错过了一个 else ?

        3
  •  3
  •   ranonE    15 年前

    注意,如果出现以下情况,应正确书写:

    $("#filter_banned").change(function(){
    
      var ul = $("#admin-userList");
    
      if ( $(this).is(":checked") ) {
        ul.addClass("appliedFilter_banned");
      } else {    
        ul.removeClass("appliedFilter_banned");
      }
    
    })
    
        4
  •  0
  •   David Andres    15 年前

    使用单击事件处理程序而不是更改。

        5
  •  0
  •   fragilewindows Mircea Mihai    8 年前

    请尝试:

    $("#filter_banned").change(function(){
    
    
    $("#filter_banned").is(':checked') ? $("#admin-userList").hide(): $("#admin-userList").show();
    
    })