[Обновленный в 2016] На всех текущих браузерах (включая IE8 +), Ваш код
document.getElementById(ObjectId).style.marginTop = Value.ToString() + 'px';
хорошо работает.
На очень старый IE (< 8) версии, необходимо использовать это нестандартное хитрое изобретение вместо этого:
document.getElementById(ObjectId).style.setAttribute(
'marginTop', Value.ToString() + 'px');
РЕДАКТИРОВАНИЕ - Из удаленного комментария OP:
Примечание это, в то время как можно использовать style.setAttribute ('граничная вершина'..) в текущем IES, 8 и более старый требуют style.setAttribute ('marginTop'..)
Ваш код работает в 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, это, кажется, работает также после очень короткой паузы.
В первую очередь, необходимо действительно пользоваться библиотекой JavaScript как jQuery или Dojo. Я также рекомендую www.debugbar.com для осмотра DOM IE.
О Вашей проблеме, elem.style = "margin: 10px"
должен работать в IE.
Hope это помогает!