获取当前元素parent然后每个元素jquery

时间:2016-09-28 07:58:31

标签: javascript jquery html

我想获取当前元素parent,然后对于每个检查,这里的类是我的代码:

jQuery('input[name^="opt"]').click(function() {
  if (
    jQuery(this).hasClass('current_option') &&
    jQuery(this).is(':checked')
  ) {
    jQuery(this).prop('checked', false); 
    jQuery(this).removeClass('current_option');
    opConfig.reloadPrice();
  } else {
    var parents=jQuery(this).parent().parent();
    jQuery(parents +'li > input').each(function() {
      alert("445");
    });
    jQuery(this).addClass('current_option');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><input type="radio" value="1" name="opt[1]" /><li>
  <li><input type="radio" value="1" name="opt[1]" /><li>
  <li><input type="radio" value="1" name="opt[1]" /><li>
  <li><input type="radio" value="1" name="opt[1]" /><li>
</ul>
<ul>
  <li><input type="radio" value="1" name="opt[2]" /><li>
  <li><input type="radio" value="1" name="opt[2]" /><li>
  <li><input type="radio" value="1" name="opt[2]" /><li>
  <li><input type="radio" value="1" name="opt[2]" /><li>
</ul>
<ul>
  <li><input type="radio" value="1" name="opt[3]" /><li>
  <li><input type="radio" value="1" name="opt[3]" /><li>
  <li><input type="radio" value="1" name="opt[3]" /><li>
  <li><input type="radio" value="1" name="opt[3]" /><li>
</ul>

这部分代码无效。我必须删除当前父级其他元素的类。

var parents=jQuery(this).parent().parent();
jQuery(parents +'li > input').each(function() {
  alert("445");
});

1 个答案:

答案 0 :(得分:2)

你能解释为什么你使用了这部分片段吗?

var parents=jQuery(this).parent().parent();
jQuery(parents +'li > input').each(function() {
  alert("445");
});

如果你解释一点,那么有些人可能会给出正确的想法,以便做到最好。还有一件事,你真的想用你的代码做什么?

无论如何,您无法通过使用li > input函数存储的parents变量获得parent()

为什么不试试find()给你?喜欢:

$(parents).find('input').each(function() {
  alert("445");
});