Javascript Jquery特殊选择
我有以下html代码:Javascript Jquery特殊选择,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有以下html代码: <div class="Radios"> <span class="radio"> <input type="radio" value="1"> yes <input type="radio" value="0"> no </span> </div> <div class="More">hello</div> <
<div class="Radios">
<span class="radio">
<input type="radio" value="1"> yes
<input type="radio" value="0"> no
</span>
</div>
<div class="More">hello</div>
<div class="More">hello</div>
<div class="Radios">
<span class="radio">
<input type="radio" value="1"> yes
<input type="radio" value="0"> no
</span>
</div>
<div class="More">hello</div>
<div class="Radios">
<span class="radio">
<input type="radio" value="1"> yes
<input type="radio" value="0"> no
</span>
</div>
<div class="More">hello</div>
<div class="More">hello</div>
<div class="More">hello</div>
对
不
你好
你好
对
不
你好
对
不
你好
你好
你好
默认情况下,应该隐藏class=more的所有div。我使用$('div.More').hide()
困难的是,当用户单击值为“1”的收音机时,应显示所有div.radio的更多下一个同级(但仅显示中间同级,而不是所有div.More)
到目前为止,我已单击某个元素的父元素,但在下一个div.Radios之前,我无法选择下一个div.More元素
你能帮我一下吗
致以最良好的祝愿
何塞
但在下一个div.Radios之前,我无法选择下一个div.More元素
使用:
首先,您单击的收音机输入比您关心的父项“.Radios”低两级
所以你想在做任何其他事情之前先得到父母,比如:
$("[type=radio]").click(function(){
var realParent = $(this).parents(".Radios");
});
既然有了父元素,就可以轻松地获得.next()和.prev()同级元素:
$("[type=radio]").click(function(){
var realParent = $(this).parents(".Radios");
realParent.next().show();
realParent.prev().show();
});
哇!多么优雅的解决方案,很好的回答。我应该指出,这个函数是在jQuery1.4中引入的。因此,请确保您运行的是最新版本的jQuery。@Wireblue:是的,只要OP使用最新版本的jQuery,它就非常优雅。
$("[type=radio]").click(function(){
var realParent = $(this).parents(".Radios");
realParent.next().show();
realParent.prev().show();
});