我正在尝试从JavaScript设置对象的边距。我能够在Opera& Firefox,但代码在Internet Explorer中不起作用。
这是我的JavaScript:
function SetTopMargin (ObjectID, Value)
{
document.getElementById(ObjectID).style.marginTop = Value.toString() + "px";
}
它被称为:
SetTopMargin("test_div_id", 100);
所以有人知道一些可以在Internet Explorer中运行的代码吗?
答案 0 :(得分:33)
[2016年更新]在所有当前浏览器(包括IE8 +)上,您的代码
document.getElementById(ObjectId).style.marginTop = Value.ToString() + 'px';
工作正常。
在非常旧的 IE(< 8)版本上,您必须使用此非标准版本:
document.getElementById(ObjectId).style.setAttribute(
'marginTop', Value.ToString() + 'px');
编辑 - 来自OP删除的评论:
请注意,虽然您可以在当前IE中使用style.setAttribute('margin-top',..),但8及更早版本需要style.setAttribute('marginTop',..)
答案 1 :(得分:4)
您的代码可以在IE8中使用。
<html>
<head>
<script type="text/javascript">
function SetTopMargin (ObjectID, Value)
{
document.getElementById(ObjectID).style.marginTop = Value.toString() + "px";
}
</script>
</head>
<body>
<button id="btnTest" onclick="SetTopMargin('btnTest', 100);">Test</button>
</body>
</html>
在IE6中,经过短暂的停顿后它似乎也能正常工作。
答案 2 :(得分:-3)
首先,你应该使用像jQuery或Dojo这样的javascript库。我还推荐www.debugbar.com来检查IE的DOM。
关于您的问题,elem.style = "margin: 10px"
应该可以在IE中使用。
希望这有帮助!