为什么不能获取document.getElementById("div1").style.margin的值

<!DOCTYPEhtml><html><head><styletype="text/css">#div1{border:1pxsolid#f00;margin:10px... <!DOCTYPE html>
<html>
<head>
<style type="text/css">
#div1{
border: 1px solid #f00;
margin: 10px;
}
</style>

</head>

<body>

<div id="div1">hello world</div>

<button onclick="myFunction()">click</button>

<script>
function myFunction(){
alert(document.getElementById("div1").style.margin);
}

</script>
</body>
</html>

如果设置margin的值是可以的,如:document.getElementById("div1").style.margin=“100px"
但为什么不能得到margin的值,var x=document.getElementById("div1").style.margin得到的x是空

如果把css样式设在div内(内联),就可以得到margin的值。
为什么。。
展开
 我来答
lyz810
推荐于2016-08-20 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31779
前端开发工程师

向TA提问 私信TA
展开全部

使用style取到的就是标签上style的值,由于在直接在class上写的,style上并没有对应的margin属性,所以无法获取

可以用currentStyle、getComputedStyle获取到对应的计算过的样式

http://www.zhangxinxu.com/study/201205/currentstyle-getcomputedstyle-test.html
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式