Javascript/jQuery-基于数值删除/添加多个元素的类

Javascript/jQuery-基于数值删除/添加多个元素的类,javascript,jquery,Javascript,Jquery,我知道这个问题看起来像是在重复,但我已经涉过许多类似的问题,但都没有成功 我正在与一位金融记者合作,希望将负余额设为红色,正余额设为绿色 这是我当前的jQuery。当我在浏览器中调试时,会跳过整个函数。然而出于某种原因,我的课程都改成了文本档 $('.balance').each(function (i) { var content = $(this).text().replace('$', ''); var balance = parseInt(content, 10);

我知道这个问题看起来像是在重复,但我已经涉过许多类似的问题,但都没有成功

我正在与一位金融记者合作,希望将负余额设为红色,正余额设为绿色

这是我当前的jQuery。当我在浏览器中调试时,会跳过整个函数。然而出于某种原因,我的课程都改成了文本档

$('.balance').each(function (i) {
    var content = $(this).text().replace('$', '');
    var balance = parseInt(content, 10);

    if (balance <= 0)
    {
        $('.balance').removeClass("text-succ").addClass("text-dang");
    }
    else {
        $('.balance').removeClass("text-dang").addClass("text-succ");
    }
});

我对Javascript和StackOverflow非常陌生,所以如果您需要更多信息,请告诉我。感谢您的帮助

问题在于每次迭代都要更新所有元素。您需要使用
来选择当前元素

$('.balance')。每个(函数(i){
var$this=$(this);
var content=$this.text().replace(“$”,“”);
var余额=parseInt(内容,10);

如果(balance您需要对引用的元素应用并删除类,在这种情况下,$(this)而不是$('.balance')

选中此项

$('.balance').each(function(){
    var balance = parseInt($(this).text().replace('$',''), 10);
    $(this).removeClass("text-dang").addClass("text-succ");
    if (balance <= 0)
        $(this).removeClass("text-succ").addClass("text-dang");   
});
$('.balance')。每个(函数(){
var balance=parseInt($(this).text().replace($,''),10);
$(this.removeClass(“text dang”).addClass(“text such”);

如果(balance记住您正在遍历所有元素…当$('.balance')。每个循环调用匿名函数并使用$(this)引用作为迭代对象的$('.balance')元素

$('.balance').each(function (i) {
var content = $(this).text().replace('$', '');
var balance = parseInt(content, 10);

if (balance <= 0)
{
    $(this).removeClass("text-succ").addClass("text-dang");
}
else {
    $(this).removeClass("text-dang").addClass("text-succ");
}});
$('.balance')。每个(函数(i){
var content=$(this.text().replace(“$”,”);
var余额=parseInt(内容,10);

如果(balance
$(this).removeClass(“text-succ”).addClass(“text-dang”);
您正在将
removeClass
addClass
应用于
.balance
。您想在当前项目上这样做。@PranavCBalan注释是一种方式。谢谢!我喜欢也讨厌大多数解决方案最终是多么简单。
$('.balance').each(function (i) {
var content = $(this).text().replace('$', '');
var balance = parseInt(content, 10);

if (balance <= 0)
{
    $(this).removeClass("text-succ").addClass("text-dang");
}
else {
    $(this).removeClass("text-dang").addClass("text-succ");
}});
$('.balance').each(function (i) {
var content = $(this).text().replace('$', '');
var balance = parseInt(content, 10);

//to be on the safe side:
$(this).removeClass();// or $(this).removeClass("text-dang text-succ");
$(this).toggleClass("text-dang", balance <= 0);    
$(this).toggleClass("text-succ", balance > 0);
});