如何在页面完全加载时更改html内容

时间:2015-10-15 11:55:48

标签: javascript html

所以,我有这个HTML文档

<!DOCTYPE html>
<html>
  <head>
  <title>TestPage</title>
    <script src="script.js"></script>
  </head>
  <body>
    <p id="test">Sample text</p>
  </body>
</html>

使用此JS文件

window.addEventListener("load", MyFunction());
function MyFunction(){
  document.getElementById("test").innerHTML = "it worked";
}

并且当然这不起作用(文本没有改变),因为它在实际加载<p id="test"></p>元素之前加载脚本(我认为)。这可能看起来很奇怪,但我希望在所有内容都加载后更改某些元素的内容。我搜索过,但无济于事。我可能在这里遗漏了一些明显的东西,但我似乎无法弄明白。任何建议将不胜感激!

3 个答案:

答案 0 :(得分:4)

您正在设置“负载”事件中调用该功能。

你的意思是:

window.addEventListener("load", MyFunction);

...

答案 1 :(得分:0)

尝试:

window.onload = function () { 
    MyFunction() 
}

function MyFunction(){
    document.getElementById("test").innerHTML = "it worked";
}

来源:Execute Javascript When Page Has Fully Loaded

答案 2 :(得分:-1)

只需将其添加到您的身体标签:

<body onload=myFunction()>

function myFunction(){
      document.getElementById("test").innerHTML = "it worked";
}