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()
。