现在我有了一个onready事件处理程序:
onready
$(function() { $('element').hide(); });
但是元素只有在出现在浏览器中之后才隐藏起来,然后像 lightning 一样消失。在内容出现在浏览器中之前,我可以绑定任何hide()函数吗?
hide()
huwehgph1#
我可以在内容出现在浏览器之前绑定任何hide()函数吗?不可以。在使用javascript操作DOM之前,必须先加载DOM。最好的方法是使用CSS从服务器端隐藏元素,这样当页面加载时它就不会显示出来。因此,在CSS文件中定义一个隐藏类:
.hidden { display: none; }
然后将其应用于您元素:
<div class="hidden">some hidden content</div>
9fkzdhlc2#
为什么不能将这样的类应用于元素
HTML格式
<div class="s-hidden">Hello foo!</div>
CSS格式
.s-hidden { display: none; visibility: hidden; }
visibility:hidden
然后在你需要的时候显示出来?
w9apscun3#
DOM必须先加载,然后才能使用JavaScript访问和修改它。你应该使用CSS隐藏元素,然后当DOM加载完成后,你就可以按照自己的意愿显示它们了。
lzfw57am4#
使用CSS隐藏元素:显示:无;
4条答案
按热度按时间huwehgph1#
我可以在内容出现在浏览器之前绑定任何hide()函数吗?
不可以。在使用javascript操作DOM之前,必须先加载DOM。最好的方法是使用CSS从服务器端隐藏元素,这样当页面加载时它就不会显示出来。因此,在CSS文件中定义一个隐藏类:
然后将其应用于您元素:
9fkzdhlc2#
为什么不能将这样的类应用于元素
HTML格式
CSS格式
visibility:hidden
还对屏幕阅读器隐藏了该元素,如果您不启用此选项,屏幕阅读器仍将读出内容 *然后在你需要的时候显示出来?
w9apscun3#
DOM必须先加载,然后才能使用JavaScript访问和修改它。你应该使用CSS隐藏元素,然后当DOM加载完成后,你就可以按照自己的意愿显示它们了。
lzfw57am4#
使用CSS隐藏元素:
显示:无;