Jquery .hide在窗口加载时不工作

Jquery .hide not working on window load

本文关键字:工作 加载 窗口 hide Jquery      更新时间:2023-09-26

我快疯了。在某些时候,一切似乎都很好,但突然一切都不工作了,我不知道为什么。

我有一组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;