1

我在 html 下面,我想添加 div 标签的 innerHTML。

<li id="liFlashDetectionMessage" class="width730 height30 divfloatleft marginleft15">
    <div id="divFlashDetectionMessage" class="divfloatleft marginleft5 width730">
    </div>
</li>

我在下面写了,但它给出了 javascript 错误。

document.getElementById("divFlashDetectionMessage").innerHTML = "Oops, flash player is not installed on your browser.";

任何人都可以帮助如何做到这一点?

4

1 回答 1

3

在没有看到你的完整代码的情况下,我敢打赌你的代码在 DOM 准备好之前就已经运行了。

由于浏览器从上到下解析您的代码并立即执行任何 JavaScript,如果您的<script>标签放在<div>您尝试操作的实际元素之前,在您的源代码中,那么它在您运行时将找不到匹配项,document.getElementById()因为当时执行一段代码后,浏览器仍然不知道您在页面下方声明的标签。

尝试将脚本元素移动到页面底部,就在结束</body>标记之前。

如果您不能/不想移动 JavaScript,那么您将不得不在 DOM 准备好后立即侦听浏览器触发的 DOM-ready 事件,并在您知道 DOM 准备好时执行代码。

于 2013-08-13T09:28:39.823 回答