Jquery 追加HTML时增加高度

Jquery 追加HTML时增加高度,jquery,css,cordova,Jquery,Css,Cordova,我正在使用phonegap(build),在div容器中添加可变数量的div时遇到问题,因为我希望容器相应地增加其高度,但事实并非如此 我试过这个把戏,但没有成功。我也尝试过不同的溢出和高度:自动组合也没有成功 我现在正在努力动态地增加容器的高度,但是,老实说,我确信一定有一种更优雅的方法来做到这一点(我的意思是,这个容器可能在其他容器div中,等等,我无法想象每次需要这种行为时,我都必须为每个容器添加代码) 你们是如何处理这种(我想是很常见的)情况的 编辑: 我根据丹尼尔的答案找到了一个解决方

我正在使用phonegap(build),在div容器中添加可变数量的div时遇到问题,因为我希望容器相应地增加其高度,但事实并非如此

我试过这个把戏,但没有成功。我也尝试过不同的溢出和高度:自动组合也没有成功

我现在正在努力动态地增加容器的高度,但是,老实说,我确信一定有一种更优雅的方法来做到这一点(我的意思是,这个容器可能在其他容器div中,等等,我无法想象每次需要这种行为时,我都必须为每个容器添加代码)

你们是如何处理这种(我想是很常见的)情况的

编辑:

我根据丹尼尔的答案找到了一个解决方案。我是这样处理的:

我使用三个容器div和一个数量可变的子div列表:

  • “页面”分区包含:
    • “内容”部分包含:
      • “类别”分部包含:
        • 子div的数目可变
(很抱歉,正确添加代码会让我发疯,因此我会将其作为图像包含在内)

解释是:

  • 我定义了一些变量来保持三个容器div的原始高度,因此稍后我可以根据包含的子div的数量为它们添加必要的额外高度

  • 我检查它们的值是否为空,所以我只在第一次给它们赋值,所以我不会每次用户进入页面时都不断添加高度

  • 每个子div的高度都是40px,因此我将其添加到一个变量中,该变量将累计总高度的增加

最后,我更新了容器的高度,我可以看到整个内容

不管怎样,我的疑问是:每次我必须以动态高度工作时,真的有必要这样做吗?
对于我来说,很难想象没有其他方法可以让容器相应地增加高度,使其成为动态内容


有人能帮我理解吗?

正如您所描述的,您正在向另一个div标记添加div标记,如下所示:

<div id="container">
     <div></div>
     <div></div>
     <div></div>
     test
</div>
  • 使用CSS

    #container {
       height: 100px;
    }
    
  • 如果要为div容器添加更多高度,可以执行以下操作

    $("#container").click(function() {
        var height = $("#container").height();
        height = height + 10;
        $("#container").css({"height": height+"px"});
        /* do more here if you want :) */
    });
    
    
    <div id="container" style="background-color: red;">
       test
    </div>
    
    $(“#容器”)。单击(函数(){
    变量高度=$(“#容器”).height();
    高度=高度+10;
    $(“#容器”).css({“高度”:高度+px});
    /*如果需要,请在此处执行更多操作:)*/
    });
    测试
    
    DIV元素应该自动展开以填充其内容,除非它设置了
    溢出
    高度
    ,正如您所说的那样。因此,要检查的另一件事是确保动态元素不是
    位置
    'ed或
    浮动
    'ed,这将使它们脱离容器的上下文。请提供一个代码示例!好的,我通过根据添加的div的数量手动增加容器的高度来处理它。这很好,因为我知道每个div的高度。现在,我发现自己有另一个限制。在另一个视图中,高度不取决于固定高度div的数量,而是取决于可能有10或10.000个字符的文本。我尝试在添加文本后立即检索包含该文本的div的高度,但结果为0(我假设其高度增加尚未生效)。在这种情况下,我如何更新高度???
    $("#container").click(function() {
        var height = $("#container").height();
        height = height + 10;
        $("#container").css({"height": height+"px"});
        /* do more here if you want :) */
    });
    
    
    <div id="container" style="background-color: red;">
       test
    </div>