如何识别元素是否已经有addClass?

时间:2014-06-23 09:16:24

标签: jquery

点击标签href后,我将动态添加类,如图所示。

$(document).on("click", ".secclass a", function(e) {
    var name = $(this).attr("name");
      var id = $(this).attr("id");
    var topping = '<section><a >' + name + '</a></section>';
    $(this).addClass("tpActive");
 });

屏幕看起来像这样

enter image description here

我的问题是,如果元素已经有了addClass,我需要删除该元素上的addClass。

如屏幕所示,如果元素已经上课,它将是gren颜色,我的要求是如果它已经是绿色,我想删除该元素的addclass。

4 个答案:

答案 0 :(得分:3)

然后你应该在这种情况下使用.toggleClass(className)

$(this).toggleClass("tpActive");

答案 1 :(得分:1)

   $(document).on("click", ".secclass a", function(e) {
       var name = $(this).attr("name");
       var id = $(this).attr("id");
       var topping = '<section><a >' + name + '</a></section>';
       if($(this).hasClass("tpActive"))
        {
        $(this).removeClass("tpActive");
        }
       else
        {
         $(this).addClass("tpActive");
        }
   });

答案 2 :(得分:0)

使用toggleClass()

$(this).toggleClass("tpActive");

答案 3 :(得分:0)

确定是否为任何匹配的元素分配了给定的类。

if($( this ).hasClass( tpActive))
{
    $(this).removeClass("tpActive");
}

如果元素为tpActive,它将删除该类。