我快疯了。在某些时候,一切似乎都很好,但突然一切都不工作了,我不知道为什么。
我有一组div和一个类,我想隐藏除前四个div以外的所有内容。
<div id="container">
<div class="item">content 1</div>
<div class="item">content 2</div>
<div class="item">content 3</div>
<div class="item">content 4</div>
<div class="item">content 5</div>
</div>
在doc
的头部有如下内容<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
$(window).load(function() {
$(".item:gt(3)").hide();
});
</script>
为什么这个不行?
我不得不说"the"。item"div根据URL上设置的变量动态加载。比如mydoamin.com/myitems/?zicode=10005
显示的项目来自外部数据库并加载到页面中。
我假设$(window)。Load等待所有这些项都存在于文档中。我错了吗?在这种情况下,我如何确保只有在所有内容真正加载后才执行函数?
您需要使用等待DOM完全加载的函数来代替$(window).load(function() {
。
$(document).ready(function() {
$(".item:gt(3)").hide();
});
演示$(window).load()
不等于DOM就绪。用这个代替:
$(function () {
$(".item:gt(3)").hide();
}
http://jsfiddle.net/murrayju/FCvCs/试着这样写:
function itemHide() {
$(".item:gt(3)").hide();
}
window.onload=itemHide;