7

我想折叠表单的一部分而不将其设置displaynone. 如果我将 设置displaynone,则绕过验证,这就是我不想将 设置为 的display原因none。我知道我可以将可见性设置为hiddenvisible但是这个解决方案对于渲染视图是不可行的,因为折叠部分的空间留在那里。这会导致视图看起来非常奇怪,其中包含一个空白区域,上面没有任何内容。

所以我的问题是隐藏 html 表单的一部分(不完整地为其保留占位符)而不将其设置displaynone,以便我仍然可以执行验证。

一些HTML代码:

<td style="margin: 5px; border-bottom: 1px solid; display:none; overflow: hidden;" colspan="3">
    <div>...</div>
</td>

最初设置为无,但一旦第display一次展开,我将设置height为 100% 并删除display样式。

4

5 回答 5

13

您可以将其移出屏幕:

$(elem).css("position", "absolute").css("left", -9999);

或将其高度设置为 0:

$(elem).css("height", 0);
于 2013-08-27T09:53:38.110 回答
4

最简单的伪造方法display:none是将位置设置为绝对(因此元素不流动,不再影响外部元素的渲染)并将可见性设置为隐藏(因此不再绘制)。

$(elem).css('visibility', 'hidden').css('position','absolute');
于 2013-08-27T10:12:14.350 回答
3

将元素的不透明度设置为 0。

$(elem).css("opacity", 0);
于 2013-08-27T09:55:56.767 回答
0
$("#ele").css({"height" : 0, "width" : 0, "opacity" : 0});
于 2013-08-27T09:56:54.767 回答
0

用jquery隐藏一个元素...

$('element').addClass('hidden');

并在您的 CSS 中使用您认为合适的内容来“隐藏”该元素

.hidden{
  /* whatever you find appropriate */
}
于 2013-08-27T09:59:34.937 回答