如果用于交换类的语句

时间:2016-09-07 12:56:30

标签: jquery

我正在使用以下代码,只有在页面上存在某个类名时才尝试交换类;

$(function() { 
    if ($('.special').length){
        $(".tab_item").removeClass("tab_item_color").addClass("tab_item_color");
    }
});

所以用英语:如果存在“特殊”类,则删除.tab_item并添加tab_item_color。

这就是我想要的。这读得正确吗?应该使用swapClass吗?

2 个答案:

答案 0 :(得分:2)

对于处理情况,例如"如果当前文档中存在班级special,则删除tab_item并添加tab_item_color而不是#34 ;;你可以做以下事情:



$(function() {
  if ($('.special').length > 0) //checking count of DOM element with class special
  {
    $(".tab_item").removeClass("tab_item").addClass("tab_item_color");
  }
});

.tab_item {
  background: none;
}
.tab_item_color {
  background: blue;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="special">div with special class</div>

<div class="tab_item">div 1</div>
<div class="tab_item">div 2</div>
<div class="tab_item">div 3</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

你可以使用下面的代码,你必须检查元素

中是否存在special
$(function() { 
    $('.tab_item').each(function(){
        if($(this).hasClass("special")){
             $(this).removeClass("tab_item").addClass("tab_item_color");
        }
    });
});

$(function() { 
    $('.tab_item.special').removeClass("tab_item").addClass("tab_item_color");
});