首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >哪一个打电话比较贵?显示-隐藏dom节点或创建-删除dom节点

哪一个打电话比较贵?显示-隐藏dom节点或创建-删除dom节点
EN

Stack Overflow用户
提问于 2012-08-22 18:36:46
回答 1查看 582关注 0票数 3

哪一个打电话比较贵?

  1. 显示隐藏dom节点或
  2. 创建-删除dom节点

假设我们只需要操作一个dom或几个(少于5个)节点,并且应用程序在桌面上运行。

对一小部分人来说,这有关系吗?那么对于移动应用程序呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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的方式,我们可以这样做:

代码语言:javascript
复制
$('#myDiv').css('display','none');

然后稍后某个时候,您的一位开发人员希望在特定条件下再次展示它。他将不知道display属性应该是什么,因为css在某个外部文件中。大多数开发人员默认为display:block,如下所示:

代码语言:javascript
复制
$('#myDiv').css('display','block');

然而,在这种情况下,我们会得到一个完全不同的风格,因为它最初是inline。聪明的开发人员找出哪里出了问题是没有问题的,但并不是所有的开发人员都很聪明:)

对于.show().hide()来说,这是一个没有问题的问题。我们不在乎它过去的风格。我们只想让它回到原来的位置,而这正是它所要做的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12079345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档