如何在jquery中使用if添加2个不同的类

时间:2014-01-30 21:43:17

标签: jquery

如何使用jquery添加2个不同的类?

我有这段代码:

<div id="divprincipal" class="divprincipal">
    <div id="div1" class="max"></div>
</div>

var clase1 = $('#hola').attr('class');
$(document).ready(function () {
    $("#hola").click(function () {
        $("#divprincipal").animate({
            height: "30px"
        }, 1000);
        $("#hola").addClass("min");
        alert(clase1);
        if (clase1 == "min") {
            $("#divprincipal").animate({
                height: "200px"
            }, 1000);
            $("#hola").addClass("max");
            alert(clase1);
        }
    });
});

我添加了一个提醒,知道当前的课程是什么,并且我一直在返回同一课程

2 个答案:

答案 0 :(得分:1)

clase1在更改之前定义,并且不是实时集合(例如NodeList),因为javascript中的某些参考值将是。它只是一个原始字符串。

为了确定该类是否存在,您需要再次检查而不是引用存储的值

var clase1 = $('#hola').attr('class');
$(document).ready(function(){
 $("#hola").click(function(){
  $("#divprincipal").animate({ height:"30px"}, 1000);
  $("#hola").addClass("min");
  clase1 = $('#hola').attr('class');
  alert(clase1);
    if (clase1=="min"){
        $("#divprincipal").animate({ height:"200px"}, 1000);
        $("#hola").addClass("max");
        alert(clase1);
    }
 });
});

此外,您可能还希望使用jQuery来检测此类是否存在,而不是查看整个类名是否与&#34; min&#34;相同。使用hasClass

if( $('#hola').hasClass('min') )
{
 //conditional code
}

答案 1 :(得分:1)

如果要将两个类添加到同一元素,则需要执行此操作:

  

$(“#hola”)。addClass(“max min”);