Jquery Can';t从div中删除类

Jquery Can';t从div中删除类,jquery,css,Jquery,Css,我正在从JSON动态地将id设置为divs。当我试图从这些div中删除一个类时,什么都没有发生 if(dueDate < today){ debtID = "#" + data[i].id_debt; console.log(debtID); $(debtID).removeClass(_this.hiddenClassAlt); } if(截止日期

我正在从JSON动态地将id设置为divs。当我试图从这些div中删除一个类时,什么都没有发生

if(dueDate < today){
    debtID = "#" + data[i].id_debt;
    console.log(debtID);
    $(debtID).removeClass(_this.hiddenClassAlt);
}
if(截止日期<今天){
debtID=“#”+数据[i].id_债务;
console.log(debtID);
$(debtID).removeClass(_this.hiddenClassAlt);
}
控制台显示屏#4。但是在id=“4”的div上,它仍然是隐藏的

如果我这样做:

if(dueDate < today){
    debtID = "#" + data[i].id_debt;
    $("#4").removeClass(_this.hiddenClassAlt);
}
if(截止日期<今天){
debtID=“#”+数据[i].id_债务;
$(“#4”).removeClass(_this.hiddenClassAlt);
}
那就行了。我知道这很简单,但我错过了什么

编辑:这是额外的代码,可能是其他地方出了问题,导致类不能被删除。但是,控制台仍将debtID显示为正确的div ID

        for(var i = 0; i < debtsLength; i++){

            var debtID = '';

            if(data[i].dob != null){
                data[i].dob = _this.localPost.reformatDate(data[i].dob);
            }

            if(data[i].created_date !== null ){

                var dueDate = $.datepicker.parseDate( "yy-mm-dd", data[i].created_date);
                var today = new Date();

                dueDate = dueDate.toISOString();
                today = today.toISOString();

                data[i].created_date = _this.localPost.reformatDate(data[i].created_date);

                debtID = "#" + data[i].id_debt;
                //debtID = debtID.replace(/ /g,'');
            } else {
                var dueDate = null;
                var today = null;
            }

            if(data[i].update_date != null){
                data[i].update_date = _this.localPost.reformatDate(data[i].update_date);
            }

            output = Mustache.render(_this.accountDebtsTemplate, data[i]);

            if(dueDate < today){
                debtID = "#" + data[i].id_debt;
                console.log(debtID);
                $(debtID).removeClass(_this.hiddenClassAlt);
            }

            $(_this.debteeContainer).append(output);

            $(_this.showDebtee).addClass(_this.hiddenClassAlt);
            $(_this.hideDebtee).removeClass(_this.hiddenClassAlt);

        }
for(变量i=0;i
编辑:已解决。我将if(dueDate
谢谢你的提示。我还将继续并更改id,使其不以数字开头

我对你的代码进行了测试,做了一些修改,但我觉得效果很好

var-dueDate=0;
今天的var=2;
风险值数据=[“4”];
var i=0;
$(文档).ready(函数(){
如果(截止日期<今天){
debtID=“#”+数据[i];
$(债务人ID).removeClass(“testClass”);
}   
});

您输入的类名可能有问题。removeClass()?

能否提供JSFIDLE?数据[i]。id\u它在控制台或警报中返回什么请检查quickmaybe追加引号。对于HTML 4,有效id不应以数字开头(
#4
将无效)。HTML没有那么挑剔,但是仍然有很多HTML4浏览器(例如IE<10):)您的代码应该可以工作。检查这个
var dueDate = 0;
var today = 2;
var data = ["4"];
var i = 0;

$(document).ready(function(){
    if(dueDate < today){
        debtID = "#" + data[i];
        $(debtID).removeClass("testClass");
    }   
});