根据值更改颜色

时间:2013-01-17 02:48:48

标签: javascript jquery

我不知道为什么这不起作用。有人可以告诉我这有什么问题吗?

var x = $('#clicked_info').val();

if(x == 1) {

    $('#companyname_ph').css({'color':'yellow'});

}

else if(x == 2) {

    $('#companyname_ph').css({'color':'red'});

}

3 个答案:

答案 0 :(得分:2)

您需要使用parseInt将字符串转换为整数。

var x = $('#clicked_info').val();

if(parseInt(x) == 1){

   $('#companyname_ph').css({'color':'yellow'});

} else if(parseInt(x) == 2){

    $('#companyname_ph').css({'color':'red'});

}

OR 使用字符串比较

if(x == '1'){

答案 1 :(得分:1)

val返回string

x == 1应为x == '1'

x == 2应为x == '2'

或者您可以使用以下内容将x转换为int。

var x = $('#clicked_info').val();
x = parseInt(x);

答案 2 :(得分:0)

和其他人一样,如果要将整数的字符串表示形式转换为数字类型,则应使用parseInt。我想补充一点,你应该为parseInt提供一个基数,因为如果你不这样做,如果你的字符串意外地以“0x”开始,你可能会得到意想不到的结果:)

尝试做:

var x = parseInt($('#clicked_info').val(), 10)