jQuery Validate添加display:block

时间:2012-12-04 16:02:03

标签: jquery jquery-validate

我在我的网页上使用jQuery Validation插件 当字段首次出现jquery错误时,它显示如下:

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

当我更正经过验证的错误时,会将以下CSS样式添加到元素中。

display: none

问题是,当我再次使元素出错时,它将CSS样式更改为以下

display: block

如何才能删除CSS样式而不是将其切换为阻止?

2 个答案:

答案 0 :(得分:1)

“我如何才能删除CSS样式而不是将其切换为阻止?”

您无法在CSS中取消设置属性。您可以将它们设置为某个默认值。

必须将display属性设置为某个有效值,例如block并且它不会被继承。这是CSS的常用方法。请参阅:https://developer.mozilla.org/en-US/docs/CSS/display

(也请阅读@ Sparky672评论以了解这里发生的事情)

答案 1 :(得分:1)

由于display:block是此元素的正常默认状态,因此它在功能上与删除display:none相同。换句话说,即使你可以做你想做的事,浏览器仍然会将其视为display:block ......没有区别。究竟什么是真正的问题?

要控制错误的位置,请搜索errorPlacement选项on this page in the documentation。虽然,你可能会有相同的问题,无论它是什么。

这会显示errorPlacement:选项,默认为function

$("#myform").validate({
    // options,
    errorPlacement: function(error, element) {
       error.insertAfter(element); // change this to place error message elsewhere
    }
});