使用jQuery定位div

时间:2011-03-23 19:06:48

标签: jquery

我修改了我的代码以更好地简化它。当点击“更改”时,我需要能够隐藏“旧”跨度并显示“新”跨度。我尝试使用兄弟姐妹(),但它似乎不起作用。我在这里遗漏了什么:

$(".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 ......

3 个答案:

答案 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的东西的子节点。

安迪