` 为空?-6ren"> ` 为空?-这个问题已经有答案了: Why does jQuery or a DOM method such as getElementById not find the element? (7 个回答) 已关闭-6ren">
gpt4 book ai didi

javascript - 为什么我的 `
` 为空?

转载 作者:行者123 更新时间:2023-12-03 05:13:50 24 4
gpt4 key购买 nike

我不明白为什么以下代码返回terminalContainer为空:

var terminalContainer = document.getElementById('terminal-container');
console.log("terminalContainer:" + terminalContainer);

但是在我的 HTML 中我定义了它:

<li class="liContainer">
<div>
<h3>{{nameContainer}}</h3>
</div>
<div id="idContainer">
<span>ID: {{idContainer}}</span>
</div>
<div id="stateContainer">
<span class="state">State: {{stateContainer}}</span>
</div>

<div id="terminal-container"></div>
<div class="terminal"></div>


<button type="button" class="stop {{#if to_hide_stop}}hidden{{/if}}"> </button>
<button type="button" class="start {{#if to_hide_start}}hidden{{/if}}"> </button>
<button type="button" class="pause {{#if to_hide_pause}}hidden{{/if}}"></button>
<button type="button" class="unpause {{#if to_hide_unpause}}hidden{{/if}}"> </button>
<button type="button" class="cmdLogs"> </button>
</li>

我的应用程序上的结果是我有 4 <li>所以消息“terminalContainer: null”在控制台中出现了 4 次,这意味着我的 div 存在,对吗?

我不明白什么?

最佳答案

这很可能是由于您的脚本在页面加载之前运行所致。 <head> 中的脚本一旦加载就会运行,这通常是在正确创建 DOM 之前。该脚本仍将执行,但它将无法找到任何元素,因为它们都不存在。

解决此问题的最简单方法是将脚本标记放在 <body> 的末尾。 ,而不是在头脑中。

<body>
...
<script src="myscript.js"></script>
</body>

还有其他方法可以推迟脚本执行直到页面加载,但 StackOverflow 上有很多关于如何执行此操作的答案。这个答案可以解释为什么你会得到 null s。

关于javascript - 为什么我的 `<div id="终端容器">` 为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41691717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com