javascript没有在页面加载时执行?

时间:2010-08-26 14:07:56

标签: javascript jquery

在我的HTML中:

<head>
<link href="/prop-view.css" media="screen" rel="stylesheet" type="text/css">
        <script src="/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            var $j = jQuery.noConflict();
        </script>
        <script src="/prop-view.js" type="text/javascript"></script>

在我的prop-view.js文件中:

$j("<div class='dk-logo'></div>").appendTo("body");

检查员没有显示任何错误。但图像没有显示出来。但是,当我将该行复制并粘贴到控制台时。所以...我的猜测是在文档完全加载之前js文件正在运行?

3 个答案:

答案 0 :(得分:5)

确保首先加载DOM:

$j(function() {
    $j("<div class='dk-logo'></div>").appendTo("body");
});

这是jQuery的ready()函数的快捷方式。在完全加载<body>标记之前,不会执行内部代码。

因为您在<body>标记之前放置了代码,所以还没有<body>可以追加。

答案 1 :(得分:3)

你是对的。在DOM就绪上执行代码。

$j(document).ready(function(){
  $j("<div class='dk-logo'></div>").appendTo("body");
});

答案 2 :(得分:1)

执行prop-view.js时,正文尚未可用。 只需将body-tags附加到body-tag的底部即可。页面加载速度更快,脚本将按预期运行

<body>
   ...
   <script ...></script>
</body>