我修改了我的代码以更好地简化它。当点击“更改”时,我需要能够隐藏“旧”跨度并显示“新”跨度。我尝试使用兄弟姐妹(),但它似乎不起作用。我在这里遗漏了什么:
$(".new").hide();
$('.change').click(function() {
$(".new").hide();
$(this).siblings(".old").hide();
$(this).siblings(".new").show();
});
<div id="container">
<div>
<div class="switches">
<span class="change">switch</span>
<span class="go">go</span>
</div>
<span class="old">old content</span>
<span class="new">new content</span>
</div>
<div>
<span class="change">switch</span>
<span class="old">old content</span>
<span class="new">new content</span>
</div>
</div>
感谢。
更新:
请注意,我为触发器添加了另一个深度
<div class="switches">
现在我无法定位正确的div ......
答案 0 :(得分:2)
$('.change').click(function() {
$(".new").hide();
$(this).siblings(".old").hide();
$(this).siblings(".new").show();
});
你没有听到正确的元素,这应该解决它。
答案 1 :(得分:1)
尝试替换它:
$('.editIco').click(function() {
$(".new").hide();
$(this).siblings(".old").hide();
$(this).siblings(".new").show();
})
使用:
$('.change').click(function() {
$(".new").hide();
$(this).siblings(".old").hide();
$(this).siblings(".new").show();
})
答案 2 :(得分:1)
我认为$(this).siblings指的是具有类editIco的东西的子节点。
安迪