使用隐藏字段值编写JQuery/Javascript IF/else语句

apt*_*tap 1 html javascript css jquery hidden

我试图根据通过ajax加载的隐藏字段的值为div分配一个CSS类.

我的代码在调用时返回隐藏字段的正确值,但无论结果如何,我的div总是被赋予相同的css类.

我猜我的IF语句语法有问题:

function doneLoading(){

var colorStatus = $('#colorStatus').val();

if(colorStatus = 'RED'){
    $('.circleFrame').addClass('redState'); 
}

else if(colorStatus = 'GREEN'){
    $('.circleFrame').addClass('greenState');   
}

else if(colorStatus = 'YELLOW'){
    $('.circleFrame').addClass('yellowState');  
}

else {
    alert("Something is broken");
}
}
Run Code Online (Sandbox Code Playgroud)

I H*_*azy 5

这是因为你做的是=作业而不是==比较.您可能希望使用http://jshint.com来帮助找到这些类型的错误.

考虑以下替代方法来缩短代码.

function doneLoading() {
    var color = $('#colorStatus').val().toLowerCase();
    $('.circleFrame').addClass(color + 'State');
}
Run Code Online (Sandbox Code Playgroud)

要保持验证,您可以这样做:

var colors = {green:1, red:1, yellow:1};

function doneLoading() {
    var color = $('#colorStatus').val().toLowerCase();

    if (colors.hasOwnProperty(color))
        $('.circleFrame').addClass(color + 'State');
    else
        alert("Something is broken");
}
Run Code Online (Sandbox Code Playgroud)