我无法弄清楚如何在使用相对路径(而不仅仅是类名)时使用.each。这可以正确检查单选按钮是否被选中,然后它继续为这两个按钮显示.radio_select。所以它显然只是检查第一个值,然后将结果应用于两者,当我希望它单独检查时。任何人都可以弄明白我做错了什么吗?有没有更好的方法可以做到这一点?感谢任何帮助,谢谢。
<div id='pid'></div>
<div class='comment_reply_holder'>
<div class="radio_holder">
<div class='radio_select'>
<input class='hidden_radio' type='radio' checked='true'>
</div>
</div>
<div class="radio_holder">
<div class='radio_select'>
<input class='hidden_radio' type='radio'>
</div>
</div>
</div>
<script>
radio = $('#'+pid).next('.comment_reply_holder').children().find('.radio_holder');
radio.each(function() {
if (radio.children().find('.hidden_radio').prop("checked") == true) {
radio.children().find('.radio_select').show();
}
});
</script>
注意:“pid”div是在网站上动态创建的,这就是为什么我想以这种方式抓取信息的原因,如果你想知道为什么我甚至以这种方式创建它的路径。
答案 0 :(得分:1)
只需在回调函数中使用this
(即当前迭代的元素),而不是外部变量radio
。
答案 1 :(得分:0)
radio.each(function(i,elem) {
if (elem.children().find('.hidden_radio').prop("checked") == true) {
elem.children().find('.radio_select').show();
}
});
答案 2 :(得分:0)
你为什么要用收音机?你需要项目吗?
radio.each(function(i, item) {
if (item.children().find('.hidden_radio').prop("checked") == true) {
item.children().find('.radio_select').show();
}