我在这里有一个工作示例: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
答案 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');
});
您也可以使用nextAll
方法,但在这种情况下,此方法过于苛刻。