我想折叠表单的一部分,而不将display
设置为none
。如果我将display
设置为none
,则会绕过验证,这就是我不想将display
设置为none
的原因。我知道我可以将可见性设置为hidden
和visible
但是此解决方案不可用于渲染视图,因为折叠部分的空间保留在那里。这导致视图看起来非常奇怪,空白空间没有内容。
所以我的问题是隐藏html表单的一部分(不插入占位符),而不将display
设置为none
,这样我仍然可以执行验证。
一些HTML代码:
<td style="margin: 5px; border-bottom: 1px solid; display:none; overflow: hidden;" colspan="3">
<div>...</div>
</td>
display
最初设置为无,但首次展开后,我将height
设置为100%并删除display
样式。
答案 0 :(得分:12)
您可以将其移出屏幕:
$(elem).css("position", "absolute").css("left", -9999);
或者将它的高度设置为0:
$(elem).css("height", 0);
答案 1 :(得分:4)
伪造display:none
的最简单方法是将位置设置为绝对(因此元素被取消流动,不再影响外部元素的渲染)和隐藏的可见性(因此不再是绘)。
$(elem).css('visibility', 'hidden').css('position','absolute');
答案 2 :(得分:3)
将元素的不透明度设置为0.
$(elem).css("opacity", 0);
答案 3 :(得分:0)
$("#ele").css({"height" : 0, "width" : 0, "opacity" : 0});
答案 4 :(得分:0)
用jquery隐藏元素......
$('element').addClass('hidden');
并在你的CSS中使用你认为合适的东西来使该元素“隐藏”
.hidden{
/* whatever you find appropriate */
}
答案 5 :(得分:-1)
您希望将容器高度设置为0,将溢出设置为隐藏。