隐藏/显示div而不影响内部元素

时间:2013-05-17 13:19:08

标签: javascript jquery css css3

基本问题:

隐藏父级:visible后,其子级仍为“隐身


我有以下HTML

    <div class="root">
      <h3>Title</h3>
      <div>
        <p>description</p>
        <div>Sub one description</div>
        <div>
          <table>
            <tbody><tr><td><div>Flag</div></td></tr></tbody>
          </table>
      </div>
    </div>
  <div>

当我使用.root {display:none;}$('.root').slideUp(500);时,内部div和内部TD元素显示为无。因此,当我展开根或制作.root{display:block;}$('.root').slideDown(500);时,内部div和TD都不显示。是否可以隐藏和显示完整的根div而不影响内部元素。

我尝试$('.root').hide();$('.root').css('height','0');并在jquery中使用animate函数没有任何效果。请帮我隐藏并完全显示根,但不影响内部元素样式。提前谢谢。

编辑:

我还必须隐藏子元素,但是当我显示根时,也应该显示子元素。现在没有显示子元素。

2 个答案:

答案 0 :(得分:1)

这里有什么问题,你的问题必须是隐藏你孩子的其他东西。你不能分享一些代码吗?

解释的问题在这里工作得很好:

http://jsfiddle.net/48xKS/

$('.root').slideUp(500);

setTimeout(function() {
      $('.root').slideDown(500); 
}, 2000);

答案 1 :(得分:0)

我认为你不能使用 display:block 来显示节点。

使用以下内容隐藏:

$('.root').css('display','none');

以及以下显示:

$('.root').css('display','');

通过这种方式我认为当root再次显示时它不会影响你的html