在div中,我有<div id="test" style="visibility:hidden">
,我使用$('#test').show()
,但它没有显示我的div
。但是如果我使用$('#test').css('visibility','visible')
,div
就会显示出来。
$('#test').hide()
也会隐藏我的div
,$('#test').show()
会显示div
,我想知道为什么两者都可以hide
div,但不能使用crossly ?
答案 0 :(得分:0)
可见性:隐藏隐藏目标内容,但它仍然保留在DOM中:它下面的另一个元素不会出现在它的位置。
hide()也会影响DOM:元素的位置可用于在其位置显示的其他内容。
答案 1 :(得分:0)
jQuery hide
大致相当于调用.css( "display", "none" )
。 show
会相应地发挥作用。
答案 2 :(得分:0)
通常visibility:hidden
会隐藏它,但会留下空间或者仍然在那里分配空间但不显示。
这就是为什么
$('#test').show()
无法正常工作,因为show()
适用于使用jQuery 方法隐藏的元素和使用CSS 中的 display:none。不是visibility:hidden
而是$('#test').hide()
display:none
表示相关标签根本不会显示在页面中,但您仍然可以通过文档对象模型/ DOM访问/使用它。在其他标签之间没有为其分配空间。所以在这里您可以使用我提到的$('#test').show();
可以与之互动
最后简而言之:如果设置display:none
,它会隐藏整个元素,而visibility:hidden
意味着元素的内容将不可见,但元素保留在原始元素中位置和大小&amp;仍会影响布局。
希望它有所帮助。