Javascript $(';元素';).show();vs$(';element';).css(';可见性';,';可见';):哪个更好使用?
显示/隐藏元素有两种方式。首先是Javascript $(';元素';).show();vs$(';element';).css(';可见性';,';可见';):哪个更好使用?,javascript,jquery,css,function,Javascript,Jquery,Css,Function,显示/隐藏元素有两种方式。首先是$('element').show(),其中show()是Jquery中的一个函数,而$('element').css('visibility','visible')其中css()也来自Jquery。哪个更快,用什么?我认为第一个更快 .show()大致相当于调用.css(“display”、“block”),只是display属性恢复为最初的状态。如果某个元素的显示值为inline,则隐藏并显示后,它将再次以inline显示 设置.css('visibilit
$('element').show()
,其中show()
是Jquery中的一个函数,而$('element').css('visibility','visible')
其中css()
也来自Jquery。哪个更快,用什么?我认为第一个更快
.show()
大致相当于调用.css(“display”、“block”),只是display属性恢复为最初的状态。如果某个元素的显示值为inline,则隐藏并显示后,它将再次以inline显示
设置.css('visibility','visible')
仅当元素以前使用visibility:hidden
隐藏时才会显示该元素show()
改为更改display
属性。这两种方法之间的关键区别在于它们的布局行为(可见性:隐藏的
元素仍然占用布局中的空间,显示:无
元素不占用空间)
至于速度/性能:。与您的猜测相反,jQuery的可见性要比显示/隐藏快得多。在vanilla JS中,这种差异消失了,至少对于简单的文档布局是如此;两种方法的速度大致相同(并且都比任何一种jQuery方法都快得多)。我在链接基准上的结果:
- jQuery显示/隐藏x 20913运算/秒±2.49%(采样75次运行)
- jQuery可见性x 121719次/秒±1.46%(抽样81次)
- 普通显示/隐藏x 453574次/秒±2.51%(采样85次)
- 香草型能见度x 450610次/秒±1.98%(取样89次)
很难想象在任何可能的情况下,这种性能上的差异会是显著的;布局差异通常是这里真正的决定因素。。。但是,如果你的应用程序每秒需要显示和隐藏数以万计的元素,你应该根据实际代码运行一个基准测试,并找出是否有关于你的实现的具体细节可以使其中一个更可取。正如注释中指出的那样,
.css()
和.show()
都是jQuery的一部分,这两种方法的主要区别在于,第一种方法为cssvisibility
属性指定一个特定值,另一种方法恢复元素的初始显示值(例如块或内联块)
在“可见性”和“隐藏/显示”中,样式都将作为内联添加
可见性
.css('visibility','visible')代码>,只有可见性将被隐藏。但显示将不会是无
隐藏/显示
它非常简单,相当于.css(“显示”、“块”)
哪个更快?
我认为,它通常不用于此类功能,但用于交互、事件中的功能等。这两个$.fn.css
和$.fn.show
都来自jQuery。不确定“连接到jQuery”是什么意思<代码>显示()
设置显示
,而不是可见性
。如果您不关心差异,请使用show()
和hide()
,因为它们较短且易于阅读。@Ry-好的,我编辑过。@Ry-那么速度呢?我认为.show()
会更快,因为它是特定于display属性的,而.css()
是所有属性的通用函数带宽是与客户端性能完全不同的问题——一旦jQuery本身下载完毕并且客户端脚本正在运行,网络状况就无关紧要了(除非您开始进行ajax或其他网络调用)。