当前位置:  开发笔记 > 编程语言 > 正文

document.body.style.marginTop在JS中返回空字符串

如何解决《document.body.style.marginTop在JS中返回空字符串》经验,为你挑选了1个好方法。

据我所知,[some elem] .style.maginTop会返回一个带有元素上边距的字符串.

相反,我总是得到一个空白的字符串.我想在身体上使用它,但我也尝试过div,但这也不起作用.

console.log(document.body.style.marginTop); // logs ""
console.log(typeof(document.body.style.marginTop)); // logs "String"

var elem = document.getElementById("testDiv");
console.log(elem.style.marginTop); // logs ""
body {
    margin-top:100px;
}
#testDiv {
    margin-top:50px;
}
hi!

test

我不确定我做错了什么...有人有非jQuery解决方案吗?



1> Johan Karlss..:

该HTMLElement.style只返回内嵌样式:

HTMLElement.style属性返回一个CSSStyleDeclaration对象,该对象表示元素的样式属性.

要从样式表访问样式,请使用Window.getComputedStyle(element):

Window.getComputedStyle()方法在应用活动样式表并解析这些值可能包含的任何基本计算后,给出元素所有CSS属性的值.

var elem = document.getElementById("testDiv");
var style = window.getComputedStyle(elem);

//output
document.body.innerHTML = style.marginTop;
body {
    margin-top:100px;
}
#testDiv {
    margin-top:50px;
}
hi!

test
推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有