我有 jquery 脚本,它在a href="#1"
选择时替换 div。a href="#1"
也被替换,a href="#2"
反之亦然。这是jQuery:
$('.child2, a[href="#1"]').hide()
$('#replacepagelinks a').click(function(){
$(this).hide().siblings().show()
var w = this.hash.replace('#', '');
$('#parent div.child'+w).show().siblings().hide()
})
这是HTML。
<div id="parent">
<div class="child1">Child 1 Contents</div>
<div class="child2">Child 2 Contents</div>
</div>
<div id="replacepagelinks">
<a href="#1">Replace Child 1 with Child 2</a>
<a href="#2">Replace Child 2 with Child 1</a>
</div>
这是 jfiddle 工作示例http://jsfiddle.net/KaqZ5/
这适用于 1 个实例。但是我在 jquery 菜单中多次定位这些,这会导致问题。如果我单击第一个菜单项,它会显示 child1,然后单击a href="#1"
显示 child2 会按预期进行。但是现在如果我进入第二个菜单项 child2 仍然显示(不是应该的 child1!),因为 jquery 代码尚未重置。这是我的html设置:
<div id=menu">
<div class="menu_item">
<a href="#" class="drop_menu"></a>
<div id="parent">
<div class="child1">Child 1 Contents</div>
<div class="child2">Child 2 Contents</div>
</div>
<div id="replacepagelinks">
<a href="#1">Replace Child 1 with Child 2</a>
<a href="#2">Replace Child 2 with Child 1</a>
</div>
</div>
<div class="menu_item">
<a href="#" class="drop_menu"></a>
<div id="parent">
<div class="child1">Child 1 Contents</div>
<div class="child2">Child 2 Contents</div>
</div>
<div id="replacepagelinks">
<a href="#1">Replace Child 1 with Child 2</a>
<a href="#2">Replace Child 2 with Child 1</a>
</div>
</div>
<div class="menu_item"> etc.. </div>
</div>
为了删除显示每个 menu_item 我有一个a href="#" class="drop_menu
执行菜单删除 jquery 的。有没有办法让相同的a href="#" class="drop_menu"
链接也重置'replace div jquery script'(本页顶部),以便每次选择菜单项时 child1 是第一个出现的?多谢了。皮亚