0

我想在加载 HTML 后最后执行一个函数。我试过onload没有成功。我也试过了ready,但它仍然不起作用。这是我的代码。这再次放置在标题中:

<script type="text/javascript">
    $(document).ready(function() {
        $('#infowindow_content').html('test');
    });
</script>

div 也由外部 JavaScript 文件设置。内容:

window.onload = initialize;

function initialize() {
    document.getElementById('infowindow_content').innerHTML = 'testa';
}

它以以下方式包含在结束正文标记之前:

<script type="text/javascript" src="../lib/functions.js"></script>

我试图将上面的代码放在结束body标记之前,但目前我不知道为什么这不起作用(我的 JavaScript 代码没有更改内容)。如果我之后在控制台上执行它一切正常。

解决方案:

我在 HTML 文件中设置了一个配置参数(语言)。在 JavaScript 文件中,我要求提供此值,并根据该值定义另一个内容。有时候可能就这么简单...

4

3 回答 3

5

尝试这个:

setTimeout(function() {
 $(document).ready(function() { 
     $('#infowindow_content').html('test');
 });
}, 20);
于 2012-07-12T17:41:35.537 回答
1

I don't know the jQuery equivalent but try the native JS.

Since the <body> has the most HTML & loads after <head>...

document.body.onload=function(){
    yourFunction(args)
}
<body onload="yourFunction(args)">...</body>

Or maybe the window object, since it's the root of every webpage DOM...

window.onload=function(){
    yourFunction(args)
}
于 2012-07-12T17:53:37.170 回答
0

始终将 DOM 操作代码直接放在</body>标签之前。标头中的 JavaScript 只能调用到库,例如 jQuery。

于 2012-07-12T17:42:20.253 回答