我有一系列嵌套在div中的链接。当点击其中一个链接时,我想隐藏带有被点击的链接并显示另一个div的div。然后,如果在该div中单击了一个链接,我想将div更改为另一个div。
html看起来像这样:
<div id="main">
<div class="item"><a href="">Link to div A</a></div>
<div class="item"><a href="">Link to div B</a></div>
<div class="item"><a href="">Link to div C</a></div>
</div>
<div id="a" style="display:none;">Link to div <a href="">B</a> and <a href="">C</a></div>
<div id="b" style="display:none;">Link to div <a href="">A</a> and <a href="">C</a></div>
<div id="c" style="display:none;">Link to div <a href="">A</a> and <a href="">B</a></div>
我在这个问题上遇到了jQuery。有没有人对如何使用jQuery有任何建议?显示/隐藏div似乎是直截了当的,但在div中再次这样做让我感到困惑。
谢谢!
答案 0 :(得分:2)
不确定这是否正是你所追求的,但我把这个jsFiddle放在一起让你看看。请参阅here。
我添加了一些更改,以便您可以确定哪些锚与哪个div相关,因此我的HTML如下所示:
<div id="main">
<div class="item"><a href="#" name="a">Link to div A</a></div>
<div class="item"><a href="#" name="b">Link to div B</a></div>
<div class="item"><a href="#" name="c">Link to div C</a></div>
</div>
<div class="item" id="a" style="display:none;">
Link to div <a href="#" name="b">B</a> and <a href="#" name="c">C</a>
</div>
<div class="item" id="b" style="display:none;">
Link to div <a href="#" name="a">A</a> and <a href="#" name="c">C</a>
</div>
<div class="item" id="c" style="display:none;">
Link to div <a href="#" name="a">A</a> and <a href="#" name="b">B</a>
</div>
然后,只是简单地使用jQuery,它似乎按照你所描述的那样工作。看看我制作的jsFiddle,让我知道你是不是想要的。
$(document).ready(function() {
// Hook up the first divs
$(".item a").click(function() {
// Get the target from the name of the anchor
var targetDiv = $(this).attr("name");
// Show the new div and hide the parent div
$("#" + targetDiv).css("display", "");
$(this).parents("div:last").css("display", "none");
});
});