Jquery 选择与类最接近的下一个

Jquery 选择与类最接近的下一个,jquery,Jquery,我想做一个简单的方法,当用户单击单选按钮时隐藏/显示内容。我不想一遍又一遍地使用ID,而是想使用类来创建一个更通用的选择器,这样我就可以在整个站点中重新应用它 我想我没有在父分区(.radio show)之外找到.next.radio show内容 $('.radio-show input:radio').click(function() { $(this).closest('div').next().find('.radio-show-content').fadeToggle(

我想做一个简单的方法,当用户单击单选按钮时隐藏/显示内容。我不想一遍又一遍地使用ID,而是想使用类来创建一个更通用的选择器,这样我就可以在整个站点中重新应用它

我想我没有在父分区(.radio show)之外找到.next.radio show内容

$('.radio-show input:radio').click(function() {
        $(this).closest('div').next().find('.radio-show-content').fadeToggle(250).toggleClass('hide'); 
});


<div class="radio-show" > 
<label class="radio span1">
    <input type="radio" name="project" value="option1" checked>
    Yes
</label>
<label class="radio span1">
    <input type="radio" name="project" value="option2">
    No
</label>
</div>

<hr />
<div class="radio-show-content"><!-- yes -->
    Show this if Yes
</div>
<div class="radio-show-content hide"><!-- no-->
    Show this if No
</div>
$('.radio show输入:radio')。单击(函数(){
$(this).closest('div').next().find('.radio show content').fadeToggle(250).toggleClass('hide');
});
对
不

如果是,请显示此项 如果没有,请显示此项
。下一步是获取

。真的,没有必要再上DOM树了。您只需使用:

$(".radio-show-content").fadeToggle(250).toggleClass('hide')

但是,这可能无法满足您的需要,因为它没有选择特定的
。广播节目内容
。您可以基于单选按钮索引进行链接(使用
.index
获取
并使用
.eq
获取
-show content
),或者只使用
.hide
的CSS转换并一致地切换它。

我认为您应该尝试不使用
.find()


这个插件就是为此而写的。免责声明:是我写的


注意:但在您的情况下,如果只有一个元素匹配
”。广播节目内容“
,只需执行一个简单的选择器,如爆炸药片所示。在这种情况下,使用插件将是一种过度的杀伤力。啊,你的权利,没有必要去DOM树。但是如果我想限制只选择接下来的2.广播节目内容类呢。同一页面上有多个广播对,显示/隐藏最接近的广播。广播显示最接近它们的内容?简单,听起来相当复杂。。您必须通过类将单选按钮链接到广播内容,或者使用我在回答中描述的相应索引
$(this).closest('div').next('.radio-show-content').fadeToggle(250).toggleClass('hide');
$('.radio-show input:radio').click(function() {
    $(this).nextInDOM('.radio-show-content').fadeToggle(250).toggleClass('hide');
});