我在做一些看起来很简单的事情时遇到了麻烦。如果值小于零,我想简单地将文本颜色设置为红色。
因此,在第一个函数中,我得到了值,并且在“成功”时,如果余额<0,我想将颜色设置为红色。
function getTimeBankBalance(staffid){
if(staffid == undefined){
var staffid = $('#staffid').val();
}
$.ajax({
url: 'get-timebankbalance.php',
type: 'GET',
data: {
cache: false,
staffid: staffid
},
success: function(balance) {
$('.timebankbalance').html(roundToTwo(balance) + " Hours");
if(balance < 0) $('.timebankbalance.').css('color','red');
},
error: function(){
genericPrompt("Error","Unable to calculate staff time bank balance","errormessage-inline");
},
});
}
使用类选择器的原因是因为我有两个显示余额的地方。
无论如何,当页面加载完成时,都会调用上述函数。
$(function(){
getTimeBankBalance();
});
但是它似乎不起作用。因此,我认为这可能是时间问题,这似乎是因为当我在调试器中暂停代码执行时,文本变为红色。没有调试器,它将保持黑色。
所以我然后尝试将代码移到一个单独的函数中
function setBalanceColour(balance){
if(balance < 0){
$('.timebankbalance.').css('color','red');
}
}
并将该函数调用延迟几秒钟...
setTimeout(setBalanceColour(balance),5000);
那也没有帮助。那么这是怎么回事?为什么它不改变颜色?
答案 0 :(得分:2)
就像我们在评论中讨论的,.
中还有一个$('.timebankbalance.')
所以这行:
if(balance < 0) $('.timebankbalance.').css('color','red');
看起来像:
if(balance < 0) $('.timebankbalance').css('color','red');