Javascript 尝试获取div大小时,clientHeight返回为0

Javascript 尝试获取div大小时,clientHeight返回为0,javascript,css,Javascript,Css,我真的很不明白这里发生了什么。基本上,我有一个具有以下设置的div: <div id="test"> <div class="maps"> <h2>View marker </h2> <div class="the-contents" id="mapDiv123">ddddd</div> </div> </div> 此设置的思想是。内容将增长以填充

我真的很不明白这里发生了什么。基本上,我有一个具有以下设置的div:

<div id="test">
    <div class="maps">
      <h2>View marker
      </h2>
      <div class="the-contents" id="mapDiv123">ddddd</div>
    </div>
</div>
此设置的思想是
。内容将增长以填充最大空间(减去
h2

以下是一个例子:

奇怪的是这确实有效!但在我的实际网站上,我得到:

X: 0px (using window.getComputedStyle(maps).getPropertyValue("height"))
Y: 461.6px (using window.getComputedStyle(maps).getPropertyValue("width")) 
FOO 0 and 462 (using clientHeight and clientWidth)
我知道元件是可见的,并且在检查元件时可以看到尺寸:


我不知道还能尝试什么。有什么想法吗?(我可以向人们展示“真实世界”中的问题站点,但它位于IP防火墙后面,因此您需要用您的IP向我发送消息,以便我可以让您访问它)

您是否尝试过
getBoundingClientRect()
?这应该是最准确的。@Camille X和Y不是X和Y轴的代表-它们只是调试字符,我过去知道它与哪一行匹配:)啊,伙计!!!我得到了它!!!在抓取高度后,我得到了这个代码:
hide\u main\u link\u els(link\u id)。布局基本上具有原始内容,然后单击和图标以显示带有标记的地图。地图一开始是隐藏的,然后在他们请求时显示。真不敢相信是那么愚蠢!!!我已经围绕这个问题转了好几个小时:(这就是为什么一个问题应该有一个有效的代码片段,重现所描述的问题,而不仅仅是一个代码片段。
X: 0px (using window.getComputedStyle(maps).getPropertyValue("height"))
Y: 461.6px (using window.getComputedStyle(maps).getPropertyValue("width")) 
FOO 0 and 462 (using clientHeight and clientWidth)