Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript document.body.style.marginTop返回JS中的空白字符串_Javascript_Margin - Fatal编程技术网

Javascript document.body.style.marginTop返回JS中的空白字符串

Javascript document.body.style.marginTop返回JS中的空白字符串,javascript,margin,Javascript,Margin,据我所知,[some elem].style.maginTop将返回一个带有元素上边距的字符串 相反,我总是得到一个空白字符串。我想在身体上用这个,但我也试过一个div,那也没用 console.log(document.body.style.marginTop);//日志“” console.log(typeof(document.body.style.marginTop));//日志“字符串” var elem=document.getElementById(“testDiv”); con

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

相反,我总是得到一个空白字符串。我想在身体上用这个,但我也试过一个div,那也没用

console.log(document.body.style.marginTop);//日志“”
console.log(typeof(document.body.style.marginTop));//日志“字符串”
var elem=document.getElementById(“testDiv”);
console.log(elem.style.marginTop);//日志“”
正文{
边缘顶部:100px;
}
#testDiv{
边缘顶部:50px;
}
你好! test仅返回内联样式:

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

要从样式表访问样式,请使用:

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

var elem=document.getElementById(“testDiv”);
var style=window.getComputedStyle(elem);
//输出
document.body.innerHTML=style.marginTop
正文{
边缘顶部:100px;
}
#testDiv{
边缘顶部:50px;
}
你好!
测试
不使用核心javascript,而是使用js库jQuery。然后使用此语法获取其值:

console.log($('body').css('margin-top'));
对于纯javascript,请使用以下命令

var element = document.body,
    style = window.getComputedStyle(element),
    margin_top = style.getPropertyValue('margin-top');
        console.log(margin_top);

嗯,我也试过了,结果和你一样。出现了一个快速的google搜索,它使用style.getPropertyValue()返回您正在查找的信息。

您可以使用
getComputedStyle
getPropertyValue
来获取最大边距

console.log(document.body.style.marginTop);//日志“”
console.log(typeof(document.body.style.marginTop));//日志“字符串”
var elem=document.getElementById(“testDiv”);
//console.log(elem.style.marginTop);//日志“”
log(getComputedStyle(elem).getPropertyValue(“边距顶部”);
警报(getComputedStyle(elem).getPropertyValue(“页边距顶部”)
正文{
边缘顶部:100px;
}
#testDiv{
边缘顶部:50px;
}
你好! 测试
我不知道为什么,但是我首先通过JS隐式地分配
边距顶部
来实现它。我知道为什么我的答案有效(已经两年多了,所以我更清楚为什么)。通过将
div#test
body
的值设置为
50px
100px
像这样:

document.getElementById("testDiv").style.marginTop = '50px';
document.body.style.marginTop = '100px';
我实际上是在设置内联元素的CSS属性/值:

<body style='margin-top: 100px'>
  <div id='testDiv' style='margin-top: 50px'>test</div>
</body>
正文{
边缘顶部:100px;
}
#testDiv{
边缘顶部:50px;
}
你好!
test“有人有非jQuery的解决方案吗?”非常有用!谢谢。:)知道我最初的尝试为什么不起作用吗?只是检查一下:你是在正文之前还是之后运行脚本?@tcak我目前正在使用codepen,我相信它会将脚本放在正文之后。虽然我可能错了。