我在做一些看起来应该很简单的事情时遇到了困难。如果值小于零,我只想将文本颜色设置为红色。
因此,在第一个函数中,我获得了值,并且在“成功”后,如果余额 < 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);
这也没有帮助。那么这是怎么回事呢?为什么它不改变颜色?
最佳答案
就像我们在评论中讨论的那样,$('.timebankbalance.')
中有一个额外的句点 .
所以这一行:
if(balance < 0) $('.timebankbalance.').css('color','red');
看起来像:
if(balance < 0) $('.timebankbalance').css('color','red');
关于jquery - 基于类使用 jQuery 设置文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55641576/