javascript - Javascript 函数无法更新 html 中的值(跨度 id)
问题描述
我正在尝试遵循关于 javascript 的一个非常基本的教程,并且我知道我过去曾有过与这项工作类似的代码,但由于某种原因,以下函数无法更新 html 中调用的部分<span id="current-result">
,见下文:
在 app.js 中:
let currentResult = 1;
currentResult = currentResult + 10;
outputResult(currentResult,'');
alert(currentResult);
const currentResultOutput = document.getElementById('current-result');
const currentCalculationOutput = document.getElementById('current-calculation');
function outputResult(result, text) {
currentResultOutput.textContent = result;
currentCalculationOutput.textContent = text;
}
在 index.html 中:
<body>
<script src="assets/scripts/vendor.js"></script>
<script src="assets/scripts/app.js"></script>
<section id="results">
<h2 id="current-calculation">0</h2>
<h2>Result: <span id="current-result">0</span></h2>
</section>
</body>
我还注意到,在进行更改后,保存所有各种 .js 和 .html 文件并在浏览器上刷新,它只是在本地打开 .html 文件,并非所有内容都会更新。例如,如果我直接在 html 中将 0 更改为 10。我在visual studio中这样做并使用firefox作为浏览器打开html文件,尽管我也检查了chrome。
解决方案
您甚至在 javascript 初始化常量之前就尝试访问该元素。查看javascript中提升的概念。此外,脚本标签应该在末尾,或者您可以使用 window.onload 事件处理程序来初始化您的 JavaScript 代码。
let currentResult = 1;
currentResult = currentResult + 10;
const currentResultOutput = document.getElementById('current-result');
const currentCalculationOutput = document.getElementById('current-calculation');
function outputResult(result, text) {
currentResultOutput.textContent = result;
currentCalculationOutput.textContent = text;
}
outputResult(currentResult, '');
alert(currentResult);
<section id="results">
<h2 id="current-calculation">0</h2>
<h2>Result: <span id="current-result">0</span></h2>
</section>
<script src="assets/scripts/vendor.js"></script>
<script src="assets/scripts/app.js"></script>
推荐阅读
- reactjs - reactjs更新操作出现问题
- python - 无法让 Python 从站点解析 JSON
- excel - 如何为文本框中的值编写 IF THEN ELSE 语句?
- sql - 无法在 SQL Server 中的 where 条件下访问多个 where 案例
- javascript - Selenium Remote 不会像真正的浏览器那样继续过去的 JavaScript 错误
- haskell - 在 Haskell 中,当使用 XStrict 语言扩展时,是否会短路?
- javascript - 使用 Javascript 从 DOM 收集详细信息以添加到数组
- python - 如何在列表末尾找到连续零的索引?
- python - Python 向量类类型不可散列
- c# - 错误:模型项传入字典不匹配