我正在创建一个带有内部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>
答案 0 :(得分:5)
您必须使用$()
包装代码,因为尚未加载元素。
$(function(){
$("p:not(:first-child)").hide(5000);
});
另外我认为500
是一个错字,因为5000
是5秒。
如@David Thomas所述,您可以进一步将其简化为:
$(function(){
$("p:gt(0)").hide(5000); //:gt means "greater than..."
});
答案 1 :(得分:0)
确保等待DOM ready事件:
$(document).ready(function() {
// your code
});