用jQuery隐藏父DIV

时间:2014-10-14 22:56:06

标签: jquery

如果显示班级,如何隐藏父div?

我的尝试:

HTML:

<div>
  this content should be hidden. 
  <div class="hide-parent"></div>
</div>

jQuery的:

<script>
$(document).ready(function(){
  $("hide-parent").parent().hide();
});
</script>

同样的想法,但我的不起作用: Hiding parent divs in Jquery

http://jsfiddle.net/uydpesxa/示例:

1 个答案:

答案 0 :(得分:3)

您需要在hide-parent前面加上句号,因为它是一个类名称选择器。

固定代码:

<script>
$(document).ready(function(){
  $(".hide-parent").parent().hide();
});
</script>

另外,在你的小提琴中,你忘了选择&#34; jQuery&#34;来自图书馆清单。

请参阅此处的固定小提琴:http://jsfiddle.net/uydpesxa/6/

如果DOM中的hide-parent元素存在,上面的代码将隐藏父元素。

要回答问题的其他部分,如果显示了一个类(我将其解释为含义&#34;未隐藏&#34;):

您可以编写代码以查看具有该类的元素是否可见。一种简单的方法是在选择器中使用:visible,另一种方法是使用is()函数。

<script>
$(document).ready(function(){
  // for each visible "hide-parent" elem, hide its parent elem.

  // option A, using :visible pseudo-selector
  // $(".hide-parent:visible").parent().hide();

  // or.. option B, using is(); perhaps a bit more maintainable / understandable
  $(".hide-parent").each(function () {
      if ($(this).is(":visible")) {
          $(this).parent().hide();
      }
  });
});
</script>

在隐藏内容时隐藏父级,请参阅小提琴:http://jsfiddle.net/uydpesxa/7/