首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery .hide()和.css("display","none")的区别

jQuery .hide()和.css("display","none")的区别
EN

Stack Overflow用户
提问于 2012-11-26 18:01:07
回答 4查看 242K关注 0票数 82

两者之间有什么区别吗?

代码语言:javascript
复制
jQuery('#id').show() and jQuery('#id').css("display","block")

代码语言:javascript
复制
jQuery('#id').hide() and jQuery('#id').css("display","none")
EN

回答 4

Stack Overflow用户

发布于 2013-03-01 05:56:57

是的,两者的性能是有区别的:jQuery('#id').show()jQuery('#id').css("display","block")慢,因为在前一种情况下,要从jquery缓存中检索初始状态需要做额外的工作,因为display不是一个二进制属性,它可以是inlineblocknonetable等,类似的情况是hide()方法。

请参阅:http://jsperf.com/show-vs-addclass

票数 6
EN

Stack Overflow用户

发布于 2012-11-26 18:05:42

是的,这是有区别的。

jQuery('#id').css("display","block")将始终将您想要显示的元素设置为块。

jQuery('#id').show()将设置为最初的显示类型,例如display: inline。

请参阅Jquery Doc

票数 3
EN

Stack Overflow用户

发布于 2012-11-26 18:03:53

你可以看看source code (这里是v1.7.2)。

除了我们可以设置的动画,这也在内存中保留了旧的显示样式(不是在所有情况下都是block,它也可以是inlinetable-cell,...)。

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

https://stackoverflow.com/questions/13562439

复制
相关文章

相似问题

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