-->

隐藏父股利,如果子表是隐藏的(显示:无)(Hide Parent Div if Child Tabl

2019-08-01 13:54发布

我试着寻遍StackOverflow上与谷歌和我发现,我以为会工作,但似乎没有任何帮助的想法!

我在SugarCRM的专业6.5.5工作,我试图隐藏子表的父DIV如果表是隐藏的(显示:无)使用jQuery,但我并没有多少运气。

例如,在下面的代码我试图隐藏<div id="detailpanel_5" class="detail view detail508 expanded">因为子表<table id="LBL_EDITVIEW_PANEL6" class="panelContainer" cellspacing="0" style="overflow: hidden; height: 0px; display: none;">是隐藏的。

我能够成功地隐藏父DIV以$('#LBL_EDITVIEW_PANEL6').parent().hide(); 但问题是,有很多隐藏在每个页面上的表,视图是动态的 - 不是每个页面都会有隐藏相同的表。

因此,我希望jQuery做的就是去通过页面加载后,隐藏只是子表是隐藏的父DIV。

我已经尝试使用类似: $(":hidden").parent().hide(); 搜索任何隐藏要素,但隐藏整个页面(屏幕完全是白色)。 我试过$("table:hidden").parent().hide(); 但是这似乎并没有做任何事情。

道歉,如果我离开了,将需要帮助回答任何细节。 我会很乐意提供任何更多的信息,如果它是需要的。 希望这件事情非常小,我俯瞰。

在HTML的一个小片断如下:

<div class="yui-content">
    <div id="tabcontent0">
        <div id="detailpanel_1" class="detail view detail508 ">
        <div id="detailpanel_2" class="detail view detail508 expanded">
        <div id="detailpanel_3" class="detail view detail508 expanded">
        <div id="detailpanel_4" class="detail view detail508 expanded">
            <h4>
            <table id="LBL_EDITVIEW_PANEL7" class="panelContainer" cellspacing="0">
            <script type="text/javascript">
        </div>
        <div id="detailpanel_5" class="detail view detail508 expanded">
            <h4>
            <table id="LBL_EDITVIEW_PANEL6" class="panelContainer" cellspacing="0" style="overflow: hidden; height: 0px; display: none;">

Answer 1:

$(":hidden")返回<head> <style> <script>等元素也。 他们的父母是<html>文件本身。 所以很自然$(":hidden").parent().hide(); 将隐藏整个文档。 因此,你必须是一个更具体一点。

至于说通过@denisk $('table:hidden').parent().hide(); 应该很好地工作。

在你的代码已经表明,它没有可能工作,因为的<h4>标签。



Answer 2:

$(':hidden').parent().hide();

应工作: http://jsfiddle.net/UtGM3/



Answer 3:

试试这个。 因为你设置的CSS显示为none

$('table').each(function(){
if ($(this).css("display") == "none")
{
$(this).parent().hide();
}
})


文章来源: Hide Parent Div if Child Table is hidden (display: none)