我不知道为什么这个不起作用。有人能告诉我问题在哪吗?
var x = $('#clicked_info').val();
if(x == 1) {
$('#companyname_ph').css({'color':'yellow'});
}
else if(x == 2) {
$('#companyname_ph').css({'color':'red'});
}
我不知道为什么这个不起作用。有人能告诉我问题在哪吗?
var x = $('#clicked_info').val();
if(x == 1) {
$('#companyname_ph').css({'color':'yellow'});
}
else if(x == 2) {
$('#companyname_ph').css({'color':'red'});
}
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'});
}
或者使用字符串比较
if(x == '1'){
===
比较运算符而不是 ==
。 - rink.attendant.6'1' == 1
时,它会返回false。你不需要写成'1' === 1
。 - Sahal1 == '1'
:) - Sahalval
返回一个 string
x == 1
应该是 x == '1'
x == 2
应该是 x == '2'
或者您可以使用以下方法将 x
转换为整数。
var x = $('#clicked_info').val();
x = parseInt(x);
1 == '1'
。这不应该有影响。 - Ry-就像其他人在这里提到的一样,当你想将一个整数的字符串表示转换为数字类型时,应该使用parseInt
。我想补充说明的是,你应该为parseInt
提供一个基数,因为如果你不这样做,如果你的字符串以意外的"0x"开头,你可能会得到意想不到的结果 :)
试着这样做:
var x = parseInt($('#clicked_info').val(), 10)
0x
(十六进制)开头,不仅会得到意想不到的结果,而且如果字符串以 0
(八进制)开头,也会得到意想不到的结果,这比 0x 更常见。 - rink.attendant.6
#clicked_info
是什么?你确定它包含了1
或者2
吗? - Ry-.text()
而不是.val()
。 - Ry-