我有一个jsfiddle:
第一组测试按钮(“显示它”和“隐藏它”)效果很好。我一直试图让第二组按钮(“拥有它”和“需要它”)用div做同样的事情。不工作。有什么建议?此外,如果有更有效的方法来做到这一点......
这里是小提琴的代码:
<!DOCTYPE html>
<html>
<head>
<style>
p { background:yellow; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<button class="1">Show it</button>
<button class="2">Hide it</button>
<p style="display: none" class="1">Hello</p>
<p style="display: none" class="2">Un Hello!</p>
<script>
$("button.1").click(function () {
$("p.1").show("slow");
$("p.2").hide("fast");
});
</script>
<script>
$("button.2").click(function () {
$("p.1").hide("fast");
$("p.2").show("slow");
});
</script>
<button class="have">Have</button>
<button class="need">Need</button>
<div id="have" style="display: none">HAVE YO</div>
<div id="need" style="display: none">NEED YO</div>
<script>
$("button.have").click(function () {
$("div.have").show("slow");
$("div.need").hide("fast");
});
</script>
<script>
$("button.need").click(function () {
$("div.need").show("slow");
$("div.have").hide("fast");
});
</script>
</body>
</html>
答案 0 :(得分:2)
应该是div#have
而不是div.have
,因为您的div的ID为have
,而不是have
类。
<script>
$("button.have").click(function () {
$("div#have").show("slow");
$("div#need").hide("fast");
});
</script>
<script>
$("button.need").click(function () {
$("div#need").show("slow");
$("div#have").hide("fast");
});
</script>
答案 1 :(得分:1)
这是一个工作小提琴:
您使用ID作为后两个div,因此您需要使用#(对于ID)而不是ID来引用它们。 (对于班级)你的选择器。
[编辑]
此外,你不需要做'div#have',只需'#have'就足够了,因为ID在DOM中应该是唯一的。