js获取div的height第一次总是0
由于我要获取的div高度是不确定的,但是每次获取时候第一次总是0,以后每次的高度都是对的,但是关键问题,我第一次要获取值啊,而且这个第一次的值也是不确定的!...
由于我要获取的div高度是不确定的,但是每次获取时候第一次总是0,以后每次的高度都是对的,但是关键问题,我第一次要获取值啊,而且这个第一次的值也是不确定的!
展开
4个回答
展开全部
用clientHeight属性
document.getElementById("").clientHeight
别顶来顶去的.就知道执行顺序顶个P用
没看到人家问的时候说获取到值是0了么?
没有报错!获取到值了!
别以为人家会那么2连执行顺序都不懂.
他的情况估计是获取的style.height.如果style没有设置的话应该是undefined
类型换算下来就是0
然后他再设置一下style.height=10;
然后再拿就可以拿到了
所以如果要直接拿一个元素的高度可以直接用clientHeight获取
不要通过style来拿
document.getElementById("").clientHeight
别顶来顶去的.就知道执行顺序顶个P用
没看到人家问的时候说获取到值是0了么?
没有报错!获取到值了!
别以为人家会那么2连执行顺序都不懂.
他的情况估计是获取的style.height.如果style没有设置的话应该是undefined
类型换算下来就是0
然后他再设置一下style.height=10;
然后再拿就可以拿到了
所以如果要直接拿一个元素的高度可以直接用clientHeight获取
不要通过style来拿
更多追问追答
追问
你说得还差不多,不过我是用JQUERY做的,原因是加载时候无法及时得到高,但是第二次就得到高了!你说得也行不通啊!
追答
jquery也是也是Js做的
$('id')[o].clientHeight试试
除非他没有渲染没有高
应该都能取到
在加载的时候就是没有渲染了?
没有渲染你想怎么拿高?..元素都不存在
展开全部
1楼说的是对的。。。。
这种东西都是由上往下执行的!!!!可能你的script写在顶部了!!!程序执行的时候没有找到页面里的内容!!!
最好是把script写在你的那个div的下面!!!
这种东西都是由上往下执行的!!!!可能你的script写在顶部了!!!程序执行的时候没有找到页面里的内容!!!
最好是把script写在你的那个div的下面!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的js写在页面最下面么?
<script>
alert(document.getElementById("dhe").style.height);
</script>
写在最下面OK
<script>
alert(document.getElementById("dhe").style.height);
</script>
写在最下面OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
顶下一楼的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询