我在添加几个jquery-ui标签时遇到问题。目前,点击Field0
后,某些信息会从Field3
消失,反之亦然。
我想点击Field0
或Field1
,只对这些字段应用更改。 Field3
和Field4
不对任何事件做出回应。
我使用document.on作为代码的一部分动态下载。
我的代码:http://jsfiddle.net/scopex/muXCu
$(document).ready(function() {
$(document).on("click", "ul.tabs a", function() {
$("ul.tabs li").removeClass('active');
$(this).parent().addClass('active');
var classname = $(this).attr("class");
$(".pane div").hide();
$($(this).attr("href")).show();
return false;
});
})
答案 0 :(得分:1)
您需要更改$(".pane div").hide()
,这样您才能隐藏与标签相关联的窗格的兄弟姐妹。
你可以试试这个:
$(document).on("click", "ul.tabs a", function () {
var $link = $(this),
$pane = $($link.attr("href"));
$link.removeClass('active').parent().addClass('active');
$pane.show().siblings().hide();
return false;
});
答案 1 :(得分:0)
这是你在找什么?
我用我认为你想要的东西修好了一下。如果有帮助,请告诉我。
我所做的是为每个div容器添加一个id属性,将div标识为单独的生物。然后我只在点击来自的div上调用了switch方法。
<div class="tabs" id="one">
<ul class="tabs">
<li><a href="#tab0_0">Field0</a></li>
<li><a href="#tab0_1">Field1</a></li>
</ul>
</div>
<div class="pane" id="onePane">
<div id="tab0_0">Field 0</div>
<div id="tab0_1">Field 1</div>
</div>
<br />
<div class="tabs" id="two">
<ul class="tabs">
<li><a href="#tab0_2">Field2</a></li>
<li><a href="#tab0_3">Field3</a></li>
</ul>
</div>
<div class="pane" id="twoPane">
<div id="tab0_2">Field 2</div>
<div id="tab0_3">Field 3</div>
</div>
$(document).ready(function() {
$(document).on("click", "ul.tabs li a", function() {
var whichPane = $(this).parents().eq(2).attr('id');
$("ul.tabs li").removeClass('active');
$(this).parent().addClass('active');
var classname = $(this).attr("class");
$("#" + whichPane + "Pane div").hide();
$($(this).attr("href")).show();
return false;
});
})