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