getElementById / InnerHTML函数不起作用

时间:2016-01-15 02:36:50

标签: javascript html innerhtml getelementbyid

我正在玩Javascript以重新开始我最近开始的第二学期网络课程,并且我遇到了让getElementById和innerHTML工作的问题。

基本上,我想用动物名称

填充空的h1



function favAnimal()
      {
         document.getElementById("animal").innerHTML="cat"
      }

<h1 id="animal" onload="favAnimal()">Favourite Animal Placeholder</h1>
&#13;
&#13;
&#13;

以上内容并未改变任何内容。如果h1为空,则结果相同。我还尝试使用<div>来排除使用特定元素的问题。

所有帮助都表示赞赏,并提前致谢!

3 个答案:

答案 0 :(得分:3)

QUERY_STRING标记没有PHP_SELF事件处理程序,因此永远不会调用您的函数。

您可以对HTTP_header_name标记使用<h1>处理程序,也可以设置其他一些事件处理程序来分配您的函数。

如果您希望在加载文档时触发代码,可以使用以下方法之一:

onload

如果您只是希望在加载onload标记后立即执行脚本,则可以在标记之后立即调用脚本。页面按顺序解析/执行,以便任何脚本始终能够引用文档中前面的HTML元素:

<body>

以下是我所知道的有window.addEventListener("load", favAnimal); // all page resources loaded document.addEventListener("DOMContentLoaded", favAnimal); // HTML done parsing 事件的一些事项:

<h1>

并且,几乎所有其他HTML标记都具有<h1 id="animal">Favourite Animal Placeholder</h1> <script>favAnimal()</script> load属性,但window <img> <body> <iframe> <link> <script> <embed> <object> <video> <audio> XMLHttpRequest 除外。我们的想法是,如果标记正在加载某些外部资源,那么有一个src事件可以知道何时加载该外部资源。如果标记未加载外部资源,则可能没有href事件。

答案 1 :(得分:2)

8事件仅在资源上发送,例如文档,图像......

如果你想在解析一个元素之后运行一些脚本,只需在它之后添加一个load元素:

script

答案 2 :(得分:-2)

这里发生的事情是你的脚本文件比html呈现的更早。因此,它无法定位元素,因为它尚未呈现。浏览器提供onload,unload等事件。在这里你需要onload `Document.addEventListener( “DOMContentLoaded” 时,init);

函数init(){ //你的代码 }`