哪一个打电话比较贵?
假设我们只需要操作一个dom或几个(少于5个)节点,并且应用程序在桌面上运行。
对一小部分人来说,这有关系吗?那么对于移动应用程序呢?
发布于 2012-08-22 18:40:56
这两种元素之间的差别很小,只有少数几个元素--绝对可以认为是可以忽略不计的。
也就是说,除非使用jQuery的.show() 和 .hide().,否则通过CSS显示和隐藏元素的速度会更快。jQuery的.hide()比任何其他隐藏元素的方法都慢得多。如果您想知道原因,请阅读“为什么.hide()慢一点?”部分在我的答案的底部。
无论如何,您应该根据哪种方法最适合您的需要来做出决定。如果您不再需要该元素,您可以删除它。如果你只是暂时不想把它藏起来,或者在特定的条件下,表现出来/隐藏它。
但是如果你想自己测试它,给你来了 :)
为什么.hide()慢一点?
jQuery的.hide()基本上与使用.css('display','none') 相同,只是缓存了display样式的前一个值,因此当您调用.show()时,元素将被正确地还原为与以前完全相同的元素。如果它有display:inline,当它被重新显示时,它就会有它。如果它有display:block,它就会有display:block。这可能很有用。
下面是一个例子:
假设我们有一个带有id="myDiv“的div,它是在一个带有display:inline的外部文件中设计的。我们想藏起来。
用.css的方式,我们可以这样做:
$('#myDiv').css('display','none');然后稍后某个时候,您的一位开发人员希望在特定条件下再次展示它。他将不知道display属性应该是什么,因为css在某个外部文件中。大多数开发人员默认为display:block,如下所示:
$('#myDiv').css('display','block');然而,在这种情况下,我们会得到一个完全不同的风格,因为它最初是inline。聪明的开发人员找出哪里出了问题是没有问题的,但并不是所有的开发人员都很聪明:)
对于.show()和.hide()来说,这是一个没有问题的问题。我们不在乎它过去的风格。我们只想让它回到原来的位置,而这正是它所要做的。
https://stackoverflow.com/questions/12079345
复制相似问题