Jquery .each在使用相对路径时?

时间:2012-05-23 22:42:55

标签: javascript jquery path each

我无法弄清楚如何在使用相对路径(而不仅仅是类名)时使用.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是在网站上动态创建的,这就是为什么我想以这种方式抓取信息的原因,如果你想知道为什么我甚至以这种方式创建它的路径。

3 个答案:

答案 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();
}