2

当我隐藏选择时:

$("#someselector").hide();

我通常把它放在底部。当该网页出现时,我会在短时间内看到隐藏的选择。然后它消失了,它应该。

这不是我想看到的。

有没有办法停止快速查看“隐藏”选择?

4

5 回答 5

4

您在页面加载时看到隐藏元素的原因是,您必须等待页面下载并处理 javascript,然后才能访问隐藏该元素的代码。如果元素的初始状态是隐藏的,那么只需将 CSS 设置为不显示。头部中的样式表在 html 之前处理,因此当 html 被渲染时,它不会显示该元素。

在 CSS 文件中的元素中设置样式:(不使用 jQuery)

 #someselector{
        display:none;
    }

...或创建一个隐藏类

.hide{
   display:none;
}

<div id="someselector" class="hide">content</div>

...或设置内联样式(不推荐)

<div id="someselector" style="display:none;">content</div>

$('#someselector').show(); 和 $('#someselector').hide(); 仍然可以正常工作。

于 2010-02-16T23:14:13.617 回答
1

与其将隐藏代码放在底部,不如将其放在 HEAD 中包含的 .js 文件中(或者,如果您的站点很小,则放在 HEAD 中的内联 JS 中)并使用 .js 延迟其发生$(document).ready()。阅读活动也是值得的!ready

于 2010-02-16T23:14:36.317 回答
0

尝试将它放在 $(document).ready() 函数中。(应该在 HEAD 中)

这样它应该在页面显示之前被隐藏......

于 2010-02-16T23:15:14.980 回答
0

你什么时候打电话hide()?你在$(document).ready/这样做$(handler)吗?如果是这样,那么你不应该看到它。

于 2010-02-16T23:16:20.190 回答
0

用 Javscript 隐藏它的最快方法是将脚本紧跟在标记中的元素之后......

<div id="someselector"></div>
<script type="text/javascript">$("#someselector").hide();</script>

您当前可能正在使用文档就绪事件,但在整个 DOM 构建完成之前不会触发。

使用 CSSdisplay:none方法不是一个好主意,因为禁用 Javascript 时元素永远不会显示。如果这不是您的网站所关心的问题,请随意。

于 2010-02-17T00:19:12.033 回答