这真是太不可思议了……我正在尝试为某些表单创建验证功能,但似乎无法对JQuery给我的数组中的元素运行任何JQuery。

碰到.css行时,此中断。我在.val()和严格的.css上也有类似的问题。哇啊?

function isRequiredFilled(prepend){
    var reqs = $(prepend + ' .required');
    var filled = true;
    for(var i=0; i<reqs.length; i++){
        reqs[i].css("background-color", "white");
        if(!reqs[i].val()){
            reqs[i].css("background-color", "rgba(200, 0, 0, 0.7f");
            filled = false;
        }
    }
    return filled;
}

最佳答案

其他答案已经解释了为什么您的代码不起作用。这是一个更具jQuery风格的解决方案:

function isRequiredFilled(prepend){
    var reqs = $(prepend + ' .required').css("background-color", "white");
    var empty_reqs = reqs.filter(function() {
        return !this.value;
    }).css("background-color", "rgba(200, 0, 0, 0.7)");

    return empty_reqs.length === 0;
}

09-26 05:17