div 的调整大小被忽略

Resize of div is being ignored

我有一个超级简单的网页,可以将数据从服务器加载到作为容器的 s 中。问题是有时图像太高,溢出并导致布局问题。所以,我希望使用以下方法调整 div 的大小:

target.style.height = height; // As short form of:
document.getElementById('someId').style.height=height;

但到目前为止,我尝试过的一切都没有奏效。这是 html 文件:

    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body bgcolor="#E3FBFF" text="#000000" onload="loadImages();">
      <script type = "text/javascript">
        function loadImages()
        {
          ...Function omitted for brevity...
          But it gets to this line:
          document.getElementById(d0).style.height = height+10;
        }
  </script>
    <div id=d0></div>
    <hr>
    <div id=d1></div>
    <hr>
    <div id=d2></div>
    <hr>
    <div id=d3></div>
    <hr>
    </body>
    </html>

就是这样!

我找到了各种文章 like this one, or ,但是它们没有帮助。

我突然想到,在我的例子中,我不需要使用 divs 本身。我只需要图像和相关文本不垂直(或水平)重叠。实际上,当图像加载时,它可能会一团糟。 ...我怎么能告诉我的 div 是全宽的,没有其他 div 的覆盖?我尝试使用 class,使用 CSS,等等,都被忽略了。

我想我是在不正确的假设下工作的,即 div 作为面向块的东西,即使您声明全宽(“width=100%”)也可以并且仍然会垂直重叠,具体取决于放置在他们。

向您的 height 变量添加一个单位。当您编辑元素的 CSS 样式时,这是必需的。参见:MDN

document.getElementById('someId').style.height=height 变为: document.getElementById('someId').style.height = height.toString() + 'px'

你没有显示你分配给 'height' 的内容,但根据你的代码我假设它是一个整数。

document.getElementById(d0).style.height = height+10;

style 需要一个字符串(即 10px),所以给它分配数字是行不通的,试试下面的方法

document.getElementById(d0).style.height = height+10+'px';

javascript 将为您将其转换为字符串
更多关于整数到字符串的信息 What's the best way to convert a number to a string in JavaScript?