编辑:问题不是隐藏它们(正如我原先想到的那样),确实如此 在隐藏的DIV上使用函数toggle(),所以我更改了标题问题 希望它可以帮助有类似问题的人
使用toggle()函数隐藏/显示DIV时遇到问题:
我正在使用的代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>title</title>
<style type="text/css">
div{width:200px;padding:5px;padding-left:30px;border:0 solid #000;border-left-width:1px;border-bottom-width:1px;font-weight:700}
p{color:grey}
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#main span").click(function() {
$("#" + $(this).parent().attr("id") + " div").toggle("fast");
});
$("#main div").hide();
});
</script>
</head>
<body>
<div id="main">
<span>hider</span>
<div id="main-child1"><p>content-child1</p></div>
<div id="main-child2">
<span>hider</span>
<div id="ultra-child"><p>content-ultrachild</p></div>
</div>
<div id="main-child3"><p>content-child3</p></div>
<div id="main-child4">
<span>hider</span>
<div id="child-child4"><p>content-c4</p></div>
<div id="main-child5">
<span>hider</span>
<div id="child-c5"><p>content-chl5</p></div>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:2)
$(function() {
$('#main>div').fadeOut('fast');
});
$(function() {})
会在页面准备就绪后立即启动脚本。$('#main>div')
定位#main。答案 1 :(得分:1)
答案 2 :(得分:1)
你走了:
$("#main > div").hide();
答案 3 :(得分:1)
我认为您的问题是,当您点击hider
时,您正在选择(并因此显示)所有div。使用子选择器仅打开所需的级别:
$("#" + $(this).parent().attr("id") + " > div").toggle("fast");
然而,更好的解决方案是切换hider
$(this).siblings("div").toggle("fast");
隐藏元素的代码运行正常。
答案 4 :(得分:0)
使用jQuery .find()
:
$("#main").find("div").hide();
答案 5 :(得分:0)
如果您的意思是对隐藏DIV中的元素使用toggle()
,这是一个已知错误。根据{{3}},我无法确定(使用jquery 1.7.2)。