0

ページで jQuery Validation プラグインを使用しています フィールドに最初に jquery エラーがあると、次のように表示されます。

<label for="fromDate" generated="true" class="error" style="">This field is required.</label>

検証済みのエラーを修正すると、次の CSS スタイルが要素に追加されます。

display: none

問題は、要素に再度エラーを発生させると、CSS スタイルが次のように変更されることです。

display: block

CSSスタイルをブロックに切り替えるのではなく、CSSスタイルを削除するにはどうすればよいですか?

4

2 に答える 2

1

「CSSスタイルをブロックに切り替えるのではなく、CSSスタイルを削除するにはどうすればよいですか?」

CSS でプロパティを設定解除することはできません。それらをデフォルト値に設定するだけです。

表示プロパティは、有効な値に設定する必要があります。たとえばblock、継承されません。これは、CSS での一般的な方法です。参照: https://developer.mozilla.org/en-US/docs/CSS/display

(@ Sparky672のコメントも読んで、ここで何が起こっているのかを理解してください)

于 2012-12-04T16:13:53.703 に答える
1

display:blockはこの要素の通常のデフォルト状態であるため、機能的には を削除するのと同じですdisplay:none。つまり、やりたいことができたとしても、ブラウザはそれをdisplay:block... 違いはないと見なします。ここでの本当の問題は正確には何ですか?

エラーが発生する場所を制御するには、ドキュメントのこのページでerrorPlacementオプションを検索してください。ただし、それが何であれ、おそらく同じ問題が発生するでしょう。

これはerrorPlacement:、デフォルトのオプションを示していますfunction

$("#myform").validate({
    // options,
    errorPlacement: function(error, element) {
       error.insertAfter(element); // change this to place error message elsewhere
    }
});
于 2012-12-04T16:15:31.990 に答える