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

私のコードで正確に間違っているのは何ですか?

このフィドルを参照してください。

4

2 に答える 2

1

successあなたのラベルはクラスとの両方で終わると思うerrorので、ルールに従ってCSSプロパティ値を決定すると、後者が勝ち、テキストは赤になります(CSSルールの順序は質問と同じであると仮定します)。

両方がある理由について:ドキュメントには、successが指定されている場合、「有効な要素を示すためにエラー ラベルが表示される」と記載されています。これが何を意味するのか完全にはわかりません。それを掘り下げたいと思うかもしれません(ラベルをデバッグし、Firebugまたは開発ツールで要素をチェックし、プラグインのソースを見てください)。

jsfiddle.net のデモでは、唯一の問題は複数の成功ラベルのようです。「エラー」クラスを削除すると、ラベルがクリアされないという別の回答が見つかりました。私はあなたの例からを削除しましたremoveClassが、あなたが望むように動作するようです (ラベルは 1 つだけ、色は問題ありません)。

于 2012-07-02T18:46:02.383 に答える
1

重複 OK を解決するには、次の操作を行います。

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