切换广播显示/隐藏最近的

时间:2013-04-24 16:28:22

标签: jquery

我在这里有一个工作示例:http://jsfiddle.net/infatti/esLMh/

为什么“不”不能隐藏?

$('.hide-show input').change(function() {
  $(this).closest('.hide-show').next('.hide-show-yes').toggle(this.value == 'yes');
  $(this).closest('.hide-show').next('.hide-show-no').toggle(this.value == 'no');
});
$('.hide-show input:checked').change(); //trigger correct state onload

1 个答案:

答案 0 :(得分:1)

next仅选择所选元素的下一个直接兄弟(,如果它与指定的选择器匹配),根据您的标记,您应该调用两个next方法选择第二个目标元素。

$('.hide-show input').change(function () {
    $(this).closest('.hide-show')
           .next('.hide-show-yes').toggle(this.value == 'yes')
           .next('.hide-show-no').toggle(this.value == 'no');
});

http://jsfiddle.net/A8ycG/

您也可以使用nextAll方法,但在这种情况下,此方法过于苛刻。