0

我将消息设置为红色表示错误,绿色表示成功。但是消息似乎是红色的,表示成功。

这是验证代码:

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;
}

我的代码到底有什么问题?

请参考this fiddle

4

2 回答 2

1

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

success: function(label)
{
    label.text("").text("ok!").addClass("success");
}
于 2012-07-02T18:17:19.333 回答
1

我认为您的标签以两个类success和结尾error,因此按照规则确定 CSS 属性值,后者获胜并且您的文本为红色(假设 CSS 规则的顺序与您的问题中的顺序相同)。

至于为什么它们两者都有:文档说如果success指定,则“显示错误标签以显示有效元素”。我不完全确定这意味着什么。您可能想要深入研究(调试标签,检查 Firebug 或开发工具中的元素,查看插件的源代码)。

在 jsfiddle.net 上的演示中,唯一的问题似乎是多个成功标签。我找到了另一个答案,指出如果您删除“错误”类,则标签不会被清除。removeClass从您的示例中删除了它,它似乎可以按照您的意愿工作(只有一个标签,颜色正常)。

于 2012-07-02T18:46:02.383 回答