我不明白爲什麼這不起作用。有人能告訴我這有什麼問題嗎?根據值更改顏色
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'});
}
OR使用字符串比較
if(x == '1'){
val
回報string
x == 1
shoulb是x == '1'
x == 2
應該x == '2'
或者您可以使用以下命令將x
轉換爲int。
var x = $('#clicked_info').val();
x = parseInt(x);
'1 =='1''。這應該不重要。 – Ryan
像其他人在這裏所指出的,你應該使用parseInt
當你想爲整數的字符串表示轉換爲數字類型。我想補充一點,你應該提供一個基數parseInt
,因爲如果你不這樣做,你可能會得到意外的結果,如果你的字符串以「0x」 :)
嘗試做意外啓動:
var x = parseInt($('#clicked_info').val(), 10)
如果你的字符串存在'0x'(十六進制),你不僅會得到意想不到的結果,而且如果你的字符串以'0'(八進制)開始,你會得到意想不到的結果,這比0x更普遍。 –
什麼'# clicked_info'?你確定它包含'1'或'2'嗎? – Ryan
這可以使用更多的上下文。例如,您是否期望在值發生更改或僅在頁面加載時應用CSS?你可以得到有關字符串與數字比較的答案,這些比較可以使它失敗(所以使用parseInt()是一種很好的做法),但它也可以成功,你可能會看到其他一些問題。 –
這是''還是別的?瘋狂的猜測:如果你想獲取文本內容,請使用'.text()',而不是'.val()'。 – Ryan