Jquery 为什么设置时我的文本输入边框不显示?

Jquery 为什么设置时我的文本输入边框不显示?,jquery,css,Jquery,Css,我试图将红色边框颜色的错误类应用于文本输入字段,如下所示: jquery //save ... $("input.required").each(function(){ if ($.trim($(this).val()).length == 0){ $(this).addClass("form_error"); formValid = false; } else{

我试图将红色边框颜色的错误类应用于文本输入字段,如下所示:

jquery

//save
...
$("input.required").each(function(){
    if ($.trim($(this).val()).length == 0){                               
        $(this).addClass("form_error");
        formValid = false;
    }
    else{
        $(this).removeClass("form_error");
    }
});
HTML


这适用于我的选择元素,但不适用于文本输入。知道我遗漏了什么吗?

您可能还需要指定边框样式:

border: 1px solid #ee5f5b;

如果我删除了

textarea,
input[type="text"]{
  border: 1px solid #cccccc;
}
部分。我猜你的类正在被应用,但是元素样式最后才被应用,最终获胜

如果不能删除上面的部分,您也可以尝试将.form\u错误更改为

.form_error {
  border-color: #ee5f5b;
  border: 1px solid #ee5f5b !important;
}

这将确保.form_error的样式优于元素样式。这有点麻烦,但它会起作用(至少在Chrome中,我正在测试这一点)。

规则之后,您是否定义了
边框
边框颜色
css规则。表单错误
规则?检查如何在firebug中应用css规则,以查看红色边框规则是否被覆盖。如果可能的话,可以在页面上发布一个url,尝试将类从“span2 required”更改为“required”。我觉得很好,你确定在其他地方没有错误吗?我有一个非常类似的代码可以工作。同样,复制了你的,它也能工作:@AlexW:nah,多类是CSS中为数不多的好东西之一,这段代码确实能工作。我正在使用Twitter引导,看起来它们在我的风格之前定义了边框颜色,但我的addClass应该调用它吗?这不是规则顺序的问题,但是关于特异性–
。form_error
的特异性为
0-0-1-0
,而
input[type=“text”]
的特异性为
0-0-1-1
+1至CBroe-不知何故,我从未听说过“特异性”一词适用于CSS。所以我今天学到了一些新东西,突然间很多事情变得更有意义了。谢谢这似乎是对该主题的一个很好的解释:
textarea,
input[type="text"]{
  border: 1px solid #cccccc;
}
.form_error {
  border-color: #ee5f5b;
  border: 1px solid #ee5f5b !important;
}