javascript动态获得div的高度并输出的问题,谢谢!

代码:问题:为什么无论是body的onload的时候还是单机button的时候,调用到fun()方法,但是弹出了alert对话框中却什么都没有。onload调用的时候可能... 代码:

问题:
为什么无论是body的onload的时候还是单机button的时候,调用到fun()方法,但是弹出了alert对话框中却什么都没有。onload调用的时候可能因为div没有渲染到,然后得不到div的height导致输出什么都没有。但是单击按钮的时候怎么也不行(弹出对话框但是什么都不输出)呢?
我试了试,在javascript中document.getElementById("div1").style.height=“50px”设置一下才能够取得出来。
为什么呢,谢谢!
展开
 我来答
Prince____Yu
推荐于2017-10-05 · TA获得超过3718个赞
知道小有建树答主
回答量:864
采纳率:33%
帮助的人:957万
展开全部

对,如果用原生的js:

document.getElementById("div1").style.height

获取高度的话只能获取内嵌(行内)样式,也就是写在元素上面的样式,意思你用:

document.getElementById("div1").style.height=“50px”;
或者在元素上:
<div style="height:50px"></div>

设置了之后就可以用了,但是没有设置之前取不到!


但是用jquery是可以取到的:

$("#div1").css("height");
或者:
$("#div1").height();

希望对你有帮助,望采纳!

追答
谢谢
有问题继续交流
网海1书生
科技发烧友

2014-01-14 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
alert(document.getElementById("div1").currentStyle.height);

以上适用于IE浏览器,如果是标准浏览器,要这样:

oDiv=document.getElementById("div1");
alert(document.defaultView.getComputedStyle(oDiv,null).height);

注意,以上两种方式均是只读的,要写入的话仍然用:....style.height="...."

原因在于CSS有内嵌、内联、外联等方式,Javascript对它们的处理方式不同的。你的方法只适用于内嵌样式表,即 <div style="height:50px"></div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莘赡05V
2014-01-14 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
这个好像 样式还没加载到DOM中吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式