jQuery验证成功消息未设置样式

jQuery验证成功消息未设置样式,jquery,css,jquery-validate,message,Jquery,Css,Jquery Validate,Message,我用红色表示错误,绿色表示成功。但这些信息似乎是红色的,表示成功 以下是验证代码: debug: true, errorElement: "em", success: function(label) { label.text("ok!").addClass("success"); }, 下面是CSS代码片段: em.success { float: none; color: green; padding-left: .5em;

我用红色表示错误,绿色表示成功。但这些信息似乎是红色的,表示成功

以下是验证代码:

debug: true,
errorElement: "em",             
success: function(label) {
    label.text("ok!").addClass("success");
},
下面是CSS代码片段:

em.success
{
    float: none; 
    color: green; 
    padding-left: .5em; 
    font-style: italic;
    font-size: 11px;    
}

em.error 
{ 
    float: none; 
    color: red; 
    padding-left: .5em; 
    font-style: italic;
    font-size: 11px;
}
我的代码到底出了什么问题


请参阅。

要解决重复确定问题,请执行以下操作:

success: function(label)
{
    label.text("").text("ok!").addClass("success");
}

我认为你的标签最后会出现两个类
success
error
,因此接下来,后者获胜,你的文本为红色(假设CSS规则的顺序与你的问题相同)

至于为什么两者都有:说明如果指定了
success
,“将显示错误标签以显示有效元素”。我不完全清楚这意味着什么。您可能需要深入研究(调试标签,检查Firebug或开发工具中的元素,查看标签)


在jsfiddle.net上的演示中,唯一的问题似乎是多个成功标签。我发现,如果删除“error”类,标签就不会被清除。而且它似乎按照您的要求工作(只有一个标签,颜色正常)。

看着小提琴,当它是有效输入时,ok消息显示为绿色。它只是添加了重复的OK。。。你想要什么样的行为?我只想要一条绿色的OK信息。有重复的应该被消除。所以,参考我更新的答案…我改变了CSS中的顺序,但它不能做出任何改变,消息仍然是红色的。请看我修改后的答案。这当然有帮助!非常感谢。就是那个!非常感谢!:)复制的不是文本内容,而是错误元素本身。删除
removeClass
会有帮助(就像您所做的那样)。您不需要
.text(“”
),因为在创建文本节点之前,会在内部调用
.empty()