jQuery隐藏元素,同时在页面布局中保留其空间

jQuery隐藏元素,同时在页面布局中保留其空间,jquery,html,Jquery,Html,在jQuery中是否有一种方法可以隐藏元素,但在隐藏时不更改DOM?我隐藏了某个元素,但当它被隐藏时,它下面的元素会向上移动。我不想那样。我希望空间保持不变,但元素可以随意显示/隐藏 我可以这样做吗?尝试将可见性设置为隐藏: $("#id").css("visibility", "hidden"); 不要使用hide(),而是使用: css('visibility','hidden') hide()将display样式设置为none,这将从文档流中完全删除元素并使其不占用空间 可见性:隐藏保

在jQuery中是否有一种方法可以隐藏元素,但在隐藏时不更改DOM?我隐藏了某个元素,但当它被隐藏时,它下面的元素会向上移动。我不想那样。我希望空间保持不变,但元素可以随意显示/隐藏


我可以这样做吗?

尝试将
可见性设置为
隐藏:

$("#id").css("visibility", "hidden");
不要使用
hide()
,而是使用:

css('visibility','hidden')
hide()
display
样式设置为
none
,这将从文档流中完全删除元素并使其不占用空间


可见性:隐藏
保持空间原样。

显示:无
会将其从内容流中删除,这样您就可以看到其他内容移动到留下的空白处。(
display:block;
将其带回流中,将所有内容推到一边。)

可见性:隐藏
将其保留在内容流中,占用空间,但只是使其不可见。(
可见性:可见;
将再次显示它。)


如果您希望内容流保持不变,您需要使用
可见性

在另一个答案中,需要注意的是jQuery的
fadeTo
没有在完成时设置
显示:none
,因此也可以在这里提供解决方案,而不是使用
fadeOut
,例如:


在我看到
可见性:隐藏
技巧之前,我以前使用过
不透明度:0

但是在许多情况下,
opacity:0
是有问题的,因为它允许您与元素进行交互,即使您看不到它!(正如他所指出的那样。)


通常这不是你想要的。但也许你偶尔会这样做?

给它零宽度怎么样?@mrtsherman:zero width是不被鼓励的:许多屏幕阅读器(盲人或视力低下的用户使用)仍然会以这种方式读取“隐藏”的内容,这可能会让他们感到困惑,因为此时可能不应该提供这些内容。使用css可见性:隐藏是一种方法。您可以在fadeIn之前动态保存高度,并淡出元素=>请参见楼下(我在产品循环中使用它。)$('.or woo bt').parent().parent().parent().parent().parent().hover(function(){//Preserve space;var rightHeight=$(this).height();$(this).css('height',rightHeight);//Hide;$(this.parent().parent().find('a span.family price').fadeOut();},function(){//Show;$(this.parent().parent().find('a span.family price').fadeIn('slow');};
css('visibility','visibility')
css('visibility','
你不能与隐藏元素交互,而你可以与不透明度为0的元素交互。@feskr如果你能想到一种有利的情况,请分享!@joeytwidle我偶然发现你的答案。我需要防止与处于特定状态的元素交互,同时保留其空间。我知道v可视性:隐藏会保留空间,但不知道它会阻止交互。