无法从div中删除类

时间:2014-07-17 04:51:36

标签: jquery css

我正在动态地将id设置为来自JSON的div。当我尝试从某些div中删除一个类时,没有任何反应。

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

控制台显示#4。但是在id =“4”的div上,它仍然是隐藏的。

如果我这样做:

if(dueDate < today){
    debtID = "#" + data[i].id_debt;
    $("#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);

        }
编辑:解决了。我将if(dueDate&lt; today)移动到循环的最后。

感谢您的提示。我也会继续将id更改为不以数字开头。

1 个答案:

答案 0 :(得分:0)

我在一个小提琴中测试了你的代码,但是我的工作正常。

Check this

var dueDate = 0;
var today = 2;
var data = ["4"];
var i = 0;

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

你输入的类名可能有问题.removeClass()?