Jquery .hide没有处理窗口负载

时间:2014-07-22 17:35:16

标签: javascript jquery hide

这让我疯了。在某些时候,一切似乎都运转良好,但突然间一切都停止了工作,我不明白为什么。

我有一组带有类的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>

我在文档的主管中有以下内容

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>    
<script>
    $(window).load(function() {
        $(".item:gt(3)").hide();
    }); 
</script>

为什么这不起作用?

我必须说&#34; .item&#34; div根据URL上设置的变量动态加载。像mydoamin.com/myitems/?zicode=10005

这样的东西

因此显示的项目来自外部数据库并加载到页面中。

我的假设是$(window)。load等待文档中存在的所有这些项。我错了吗?在这种情况下,我怎样才能确保只在所有内容都被加载后执行一个函数?

3 个答案:

答案 0 :(得分:4)

而不是$(window).load(function() {,您需要使用等待DOM完全加载的函数。

$(document).ready(function() {
    $(".item:gt(3)").hide();
});

Demo

答案 1 :(得分:1)

$(window).load()与DOM就绪不同。请改用:

$(function () {
    $(".item:gt(3)").hide();
}

http://jsfiddle.net/murrayju/FCvCs/

答案 2 :(得分:-1)

尝试使用以下内容:

function itemHide() {
    $(".item:gt(3)").hide();
}
window.onload=itemHide;

希望这会对你有所帮助。