如何阅读DIV的最高保证金

时间:2013-03-01 18:43:41

标签: javascript css margin

这是我的代码

<script>
function showin(box) {

       cur = parseInt(document.getElementById(box).style.marginTop);
       alert(cur);
    }
 showin('child');

</script>

<div id="parent" class="parent">
    <div id="child" class="child" style="margin-top:-10px;">
    </div>
</div>

为什么它没有给我任何警告信息?

4 个答案:

答案 0 :(得分:5)

它无效,因为您在DOM准备好之前调用它并且可以计算保证金。

你应该这样做:

function showin(box) {
   cur = parseInt(document.getElementById(box).style.marginTop);
   alert(cur);
}
window.onload = function() { 
   showin('child'); 
}

答案 1 :(得分:1)

您在创建DOM之前调用该函数,

如果你正在使用jquery尝试包装showin('child');准备好文件:

$(document).ready(function(){
  showin('child');
});

这将等到所有内容都被创建

编辑:或使用window.onload:)

答案 2 :(得分:1)

试试这个:

<script>
    function showin(box) {
        cur = parseInt(document.getElementById(box).style.marginTop);
        alert(cur);
    }
    window.onload = function(){
        showin('child');
    }
</script>

<div id="parent" class="parent">
    <div id="child" class="child" style="margin-top:-10px;">
    </div>
</div>

由于您尝试在HTML上方运行showin javascript函数,因此在运行javascript时,div#child尚未呈现。

您必须查看并了解window.onload

答案 3 :(得分:0)

这是因为您的脚本在窗口准备好之前执行,并且没有获得您传递的元素并引发错误。此错误导致执行中断和javascript中断。请google获取Jquery的$(document).ready方法以了解更多信息