首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery隐藏函数

jquery隐藏函数
EN

Stack Overflow用户
提问于 2011-10-27 17:00:17
回答 4查看 421关注 0票数 3

我对jquery隐藏函数有一个一般性的疑问。我环顾四周,似乎找不到一个直接的答案。我想知道在页面加载时隐藏的对象是仍然加载然后隐藏,还是在触发器被调用后隐藏然后加载。另外,如果加载了对象,是否有一些函数只会在被触发时加载隐藏元素?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-27 17:05:34

如果在$(document).ready()内部调用.hide(),那么该元素将按原样从服务器加载,然后在页面完全加载后隐藏。

这可能会导致“flash”--在页面加载时看到元素出现,然后在加载后消失。防止这种情况的最好方法是确保它由服务器以display:none;样式呈现,如果它最初打算隐藏的话。

请注意,.show().hide()不会影响DOM中存在的元素-即加载了哪些元素。相反,它们在页面加载后控制项的可见性。

如果您实际上希望动态加载页面的某些部分,则需要使用jQuery的DOM操作方法向页面添加新元素,以响应某些事件。

票数 6
EN

Stack Overflow用户

发布于 2011-10-27 17:38:55

作为对已经给出的答案的补充。

如果你使用jquery hide()来隐藏一个元素,那么如果用户关闭了javascript,那么这个元素就会被显示出来--因为hide()不会发生。如果功能或显示或隐藏的需求因缺少javascript而受到影响,那么处理这种情况是一个好主意。一些示例CSS类。

代码语言:javascript
运行
复制
.hide-if-no-js {display:none;}
.show-if-no-js {display:block;}
.hide {display:none;}

然后,您可以将其应用于元素,这取决于您最初是要显示还是隐藏元素-而不管javascript是否可用。

如果js不可用则隐藏,如果js可用则隐藏:

代码语言:javascript
运行
复制
<div id="aaa" class="hide-if-no-js">...</div>

显示为js不可用,如果js可用则隐藏:

代码语言:javascript
运行
复制
<div id="aaa" class="show-if-no-js">...</div>
$("#aaa").removeClass("show-if-no-js").addClass("hide");
票数 1
EN

Stack Overflow用户

发布于 2011-10-27 17:05:38

我不确定我是否理解了,要用jQuery隐藏一些东西,它必须已经加载到页面中,除非你从javascript创建它。添加到DOM中的“已加载”是什么意思?

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

https://stackoverflow.com/questions/7913718

复制
相关文章

相似问题

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