Javascript 添加类名对特定字段无效

Javascript 添加类名对特定字段无效,javascript,html,css,classname,Javascript,Html,Css,Classname,我有一个函数来检查字段是否为空。如果是,它将分配一个错误类,将其涂成红色。它适用于我表单的所有字段,只有一个字段除外。 在这一点上,它只是将class属性添加到元素中,而没有任何值 这是我的职责 function validateEmptyPass(pass) { var a = $('#password-conf'); var error = ""; var fieldName; if (a[0].value.length === 0) { a[

我有一个函数来检查字段是否为空。如果是,它将分配一个错误类,将其涂成红色。它适用于我表单的所有字段,只有一个字段除外。 在这一点上,它只是将class属性添加到元素中,而没有任何值

这是我的职责

function validateEmptyPass(pass) {
    var a = $('#password-conf');
    var error = "";
    var fieldName;
    if (a[0].value.length === 0) {
        a[0].className ="errorField"
        error= "password field empty"
    } else {
        a[0].className = '';     
    }
    return error;   
这就是元素发生的情况

<input id="password-conf" name="passwordConf" rel="Password Confirmation" placeholder="password confirmation" type="password" maxlength="25" tabindex="5" class="">

这只是碰巧发生在那个领域你知道为什么吗


非常感谢你

因为您使用的是jQuery,所以可以使用.addClass:

a[0].addClass("errorField");

使用本机JavaScript:

a[0].classList.add("errorField");

由于您使用的是jQuery,因此可以使用.addClass:

a[0].addClass("errorField");

使用本机JavaScript:

a[0].classList.add("errorField");

这一定是出了什么问题。也许是你们班? 请给我们看CSS代码

以下是工作代码:

函数validateEmptyPass(通过){
变量a=$(“#密码配置”);
var误差=”;
变量字段名;
if(a[0].value.length==0){
a[0]。className=“errorField”
error=“密码字段为空”
}否则{
a[0]。类名=“”;
}
返回误差;
}
.errorField{
背景:红色;
}

这一定是出了什么问题。也许是你们班? 请给我们看CSS代码

以下是工作代码:

函数validateEmptyPass(通过){
变量a=$(“#密码配置”);
var误差=”;
变量字段名;
if(a[0].value.length==0){
a[0]。className=“errorField”
error=“密码字段为空”
}否则{
a[0]。类名=“”;
}
返回误差;
}
.errorField{
背景:红色;
}

if(!a[0].值){
a[0]。className=“errorField”
error=“密码字段为空”
}否则{
a[0]。类名=“”;
}
if(!a[0].值){
a[0]。className=“errorField”
error=“密码字段为空”
}否则{
a[0]。类名=“”;
}

它似乎在这里起作用-它只是不断地分配一个空类。它似乎在这里起作用-它只是不断地分配一个空类。这会发生什么变化?会发生什么变化?它仍然分配一个空类。@AdrianMojica当你按下按钮(它执行你想要的函数)时,它会改变类,请注意,背景是如何按照类中的定义变红的。是的,它似乎在这里工作,只要我将其添加到代码中,该类就会一直被添加为空的:S将不得不进行更深入的调试。@AdrianMojica是否有链接?它仍然分配一个空类。@AdrianMojica当您按下按钮时(它执行您想要的函数)它将更改类,并注意到背景如何变为类中定义的红色。是的,它似乎在这里工作,只要我将其添加到代码中,该类就会一直被添加为空:S将不得不进行更深入的调试。@AdrianMojica您有链接吗?