1

我在其中的div元素更改后更新高度时遇到问题。

基本上我有三个文件:

索引.html:

  <!DOCTYPE html>
    <head>
    <title>Template1</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="jquery.js"></script>
    <script src="respond.js"></script>
    </head>
    <body>
    <div id="wrapper">
    <img class= "img_center_big" src = "img.png">
    </div>
    </body>
    </html>

样式.css:

body
{
    width:100%;
}

img
{
    max-height:1000px;
}

#wrapper
{
    background-color: yellow;
    display: block;
    margin: 0 auto;

}

响应.js:

 $("#wrapper").ready(function(){
  console.log($("#wrapper").height());
  $("#wrapper .img_center_big").width($("#wrapper").width() * 0.9 );
  $("#wrapper").height("auto");
  console.log($("#wrapper").height());
 });

问题是$("#wrapper").height(),即使在更改之后也是一样的。有什么解决办法吗?我环顾四周,但找不到答案。

在使用 jQuery 更改组件后,我想获取 div 的高度。

编辑:在帖子中更改了文件名,打错了。

4

1 回答 1

0

他是对的,您没有更改 height() 值。您可以遍历 DIV 中的所有元素,并将 DIV 的新高度设置为其中所有子元素高度的总和。

从您显示的代码来看,我认为这将是一条稳定的路线。

var totalsum = 0;

$("#wrapper").ready(function(){       
   $("#wrapper").children().each(function(){
      totalsum = totalsum + $(this).height();
   });


   console.log($("#wrapper").height());
   $("#wrapper .img_center_big").width($("#wrapper").width() * 0.9 );

   if(totalsum > 0)
   {
      $("#wrapper").height(totalsum);
    }

   console.log($("#wrapper").height());
  });

这是基本的,但应该提供这个想法。希望能帮助到你!

于 2013-10-02T13:38:51.207 回答