文件准备火灾太早了?

时间:2014-03-21 11:31:13

标签: javascript jquery iframe document document-ready

这是一种理论问题,因为它无法立即检查。问题是关于jQuery代码无法工作的可能原因,但现在它已加载到页面上。此外,它在页面加载后立即执行了操作,并将此脚本代码从加载页面的源复制粘贴到控制台中。

<body>
<div id="id1">...</div>
<div id="id2">some html code goes here... </div>
<script>
    jQuery(document).ready(function() {
            var el = jQuery("#id1");
            var var1 = el.width();
            el.css({'margin-top':'10px','margin-bottom':'20px'});
            jQuery("#id2").css('margin-top', var1+'px');
    });
</script>
<div>and here... </div>
</body>

P.S。加载了jQuery库。 Chrome控制台中没有错误。该脚本位于正文标记中。

P.P.S。是不是因为#id1(包含)是从另一个站点加载的,所以先前准备好了文件?这究竟是什么原因? 还有其他可能的原因吗?

不幸的是,很难立即检查它,因为对该页面的访问是有限的,并且需要几个步骤来由其他人立即更新而无法访问。 但是,需要立即采用可能的解决方案。

将id1和id2添加到html代码中。

1 个答案:

答案 0 :(得分:0)

  

使用 window.onload 最常用于元素内   一旦网页完全加载了所有内容,就执行一个脚本。

jQuery(window).load(function () {

    var el = jQuery("#id1");
            var var1 = el.width();
            el.css({'margin-top':'10px','margin-bottom':'20px'});
            jQuery("#id2").css('margin-top', var1+'px');

});