js获取div的style里的height问题

代码如下图所示,我写的div为什么获取不到style里的height属性?... 代码如下图所示,我写的div为什么获取不到style里的height属性? 展开
 我来答
童话里的小泡泡
2015-10-12
知道答主
回答量:42
采纳率:0%
帮助的人:16.1万
展开全部
//获取id="div"的高度
document.getElementById("div").style.height
//设置id="div"的高度
document.getElementById("div").style.height="200px";
湿度55
2015-11-04
知道答主
回答量:5
采纳率:0%
帮助的人:2.5万
展开全部

  js获取div中style的height可以用如下代码:

 

 var ht=document.getElementById('div1').style.height;

  这个只能获取写在style属性上的height值。

  如果想要获取写在css里面的值就需要用到兼容的方式,代码如下:

 

 var ht=document.getElementById('div1');
  var htval=0;
  if(window.getComputedStyle){
  htval=window.getComputedStyle(ht,null).getPropertyValue('height');
  }else{
  htval=ht.currentStyle['height'];
  if(htval=='auto'){
      htval=ht.offsetWidth;
  }
  }

在兼容过程中window.getComputedStyle是FF,chrome等提供的方法,currentStyle是IE提供的方法,但是IE下面对于一些没有定义高度的div会返回auto所以判断auto是为了能得到具体的height数值。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-03-16
展开全部
楼主你这用的是外部样式,非行内样式所以不能这样
function getCss(obj, type) {
if (obj.currentStyle) {

retrun obj.currentStyle[type]
}
else{

return getComputedStyle(obj, flase)[type];

}
}
alert(getCss(el, 'height'));
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式