0

我正在使用内部 jQuery 创建一个随机 html 页面,我试图让 jQuery 隐藏三个段落中的两个,并执行此操作 5 秒,但是当我加载 html 文件时,所有段落都立即可见。任何人都可以帮忙吗?

<html>
    <head>
        <script src="jquery-1.9.1.js"></script>
    </head>
    <body>
        <script>
            var $ = jQuery;
            $("p").each(function (idx) {
                if(idx >= 1) {
                    $(this).hide(500);
                }
            });
        </script>
        <p>This is the first paragraph</p>
        <p>This is the second paragraph</p>
        <p>This is the third paragraph</p>
    </body>
</html>
4

2 回答 2

5

您必须使用包装代码,$()因为尚未加载元素。

$(function(){
    $("p:not(:first-child)").hide(5000);
});

 TRY-A-DEMO

我也相信这500是一个错字,因为5000是 5 秒。

正如@David Thomas建议的那样,您可以将其进一步简化为:

$(function(){
    $("p:gt(0)").hide(5000);  //:gt means "greater than..."
});
于 2013-03-24T23:26:31.783 回答
0

确保等待 DOM 就绪事件:

$(document).ready(function() {
  // your code
});
于 2013-03-24T23:26:14.780 回答