之间有什么区别
jQuery('#id').show() and jQuery('#id').css("display","block")
和
jQuery('#id').hide() and jQuery('#id').css("display","none")
Answers:
jQuery('#id')。css(“ display”,“ block”)
该display
属性可以有许多可能的值,其中有block
,inline
,inline-block
,和更多。
该.show()
方法不一定将其设置为block
,而是将其重置为您定义的名称(如果有的话)。
在jQuery源代码中,您可以看到他们如何将display
属性设置为“”(一个空字符串),以检查在进行任何jQuery操作之前它是什么:little link。
另一方面,隐藏是通过进行的display: none;
,因此您可以考虑.hide()
并.css("display", "none")
等效于某个点。
建议使用,.show()
并且.hide()
无论如何要避免任何陷阱(而且,它们要短一些)。
show()和css({'display':'block'})之间的区别
假设您一开始就有这个:
<span id="thisElement" style="display: none;">Foo</span>
你打电话时:
$('#thisElement').show();
你会得到:
<span id="thisElement" style="">Foo</span>
而:
$('#thisElement').css({'display':'block'});
确实:
<span id="thisElement" style="display: block;">Foo</span>
所以,是的,有区别。
hide()和css({'display':'none'})之间的区别
与上面相同,但是将它们更改为hide()并显示':'none'......
另一个不同之处是,
当.hide()
被调用时,display属性的值保存在jQuery的数据缓存中,因此,在.show()
被调用时,将还原初始显示值!
是的,有在两者的性能差异:
jQuery('#id').show()
速度低于jQuery('#id').css("display","block")
在前者的情况下额外的工作是从jQuery缓存中检索显示初始状态做的是不是一个二进制属性也可以是inline
,block
,none
,table
,等类似hide()
方法就是这种情况。
没有参数,.hide()方法是隐藏元素的最简单方法:
$('。target')。hide(); 匹配的元素将立即隐藏,没有动画。这与调用.css('display','none')大致相同,不同之处在于display属性的值保存在jQuery的数据缓存中,以便以后可以将显示恢复到其初始值。如果元素的显示值为inline,则将其隐藏并显示,它将再次以inline显示。
节目也一样
.show()
将设置适当的display
属性,而您必须手动选择适当的属性,即.css()
是,有一点不同。
jQuery('#id').css("display","block")
将始终设置要显示为块的元素。
jQuery('#id').show()
will et是最初显示的显示类型,例如display:inline。
请参阅jQuery文档
没有参数,.show()方法是显示元素的最简单方法:
$('。target')。show();
匹配的元素将立即显示,没有动画。这与调用.css('display','block')大致相同,不同之处在于display属性可以恢复为最初的状态。如果元素的显示值为inline,则将其隐藏并显示,它将再次以inline显示。