ie7 获取clientHeight&clientWidth总是0

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    .content{}
    .item{height:20px;border:1px solid #ddd;}
    </style>
</head>
<body>

<div id="content" class="content">
    <div id="item" class="item">aaa</div>
</div>

<script type="text/javascript">
    var item = document.getElementById('item'), ch = item.clientHeight, pch = item.parentNode.clientHeight;
    console.log({ch: ch, pch: pch});
</script>
</body>
</html>

IE7下能获取.item的clientHeight但获取不到.content的clientHeight图片描述

chrome下是正常的图片描述

阅读 6k
2 个回答

IE7 的坑。

一个元素如果没有任何 style,IE7 不会计算任何高度和宽度。所以呢,随便给它个 style 就好了。

获取元素高和宽是
element.offsetWidth和element.offsetHeight。至于
clientWidth clientHeight 是获取客户端的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题