代码之家  ›  专栏  ›  技术社区  ›  luqui

如何在添加元素后刷新div的大小

  •  2
  • luqui  · 技术社区  · 14 年前

    我有这样一个元素:

    <div id="content" style="border: 2px solid black">
    </div>
    

    通过JQuery我添加了一些新内容:

    $("#content").append($('<div></div>').addClass("box"));
    

    哪里

    .box { margin: 10px; padding: 10px; border: 1px solid black }
    

    但是外面 div 当我这样做时不会调整大小,所以我得到了一个从实心外盒伸出的内盒。添加这个内部框时,如何使外部框调整自身大小?

    3 回复  |  直到 14 年前
        1
  •  3
  •   BrunoLM    14 年前

    如果不是打字错误,请更正选择器

    $("#content") // id="content" (correct)
    $("content")  // tagName = content
    

    并将div的显示更改为 inline-block

    #content {
        display: inline-block;
    }
    

        2
  •  1
  •   Mouhannad    14 年前

    试试这个:

    js公司

    $('#content').append('<div class="box">&nbsp;</div>');
    

    <div id="content" style="border:2px solid black;overflow:hidden;">
    </div>
    

    我希望他的帮助!

        3
  •  0
  •   Peter Ajtai    14 年前

    #content 不是调整大小,因为 width

    要么让它更宽,要么特别适当地调整它的大小。

    看起来像 #内容

    所以,有点像:

    $("#content").css("width","100%").append($('<div></div>').addClass("box"));
    

    #content { width: ... ; }
    

    如果你在漂浮 .box 在内部 #内容 overflow 属于 #内容 auto (或隐藏),否则外部框不会“看到”浮动的内部框:

    #content { overflow: auto; }
    
        4
  •  0
  •   Vladislav    5 年前

    #property { overflow: auto; }

    现在,当我显示或隐藏元素时,将重新计算元素的大小。