javascript - textContent 属性未使用 javascript 更新
问题描述
我正在制作计算器应用程序作为 Odin 项目的一部分。我有一个执行所需计算的 javascript 函数:
function doCalc(arr) {
//CHECK IF INPUT IS VALID. IF SO, PERFORM CALCULATION
if (checkValid(arr)) {
if (arr.length === 1)
return arr;
arr = getResultArr(arr, "/");
arr = getResultArr(arr, "*");
arr = getResultArr(arr, "+");
arr = getResultArr(arr, "-");
if (arr[0] == "Infinity")
arr[0] = "ERROR: DIVISION BY 0";
return (input = arr);
}
else {
//THIS IS THE LINE GIVING TROUBLE
inputText.textContent = "INVALID CALCULATION";
}
}
该函数首先检查计算器中的输入是否有效。例如,输入“9++3”是无效的,因为两个加号在一起。如果它无效,它会转到“else”分支,然后应该更新元素(指的是 ap 标签)textContent
。inputText
但是, p 标签的文本从未真正更新。它保持不变。当我在 Chrome 调试器中放置一个断点时,该行执行得很好(当我单步执行“else”分支时),这很奇怪。此外,如果我更改代码以更改inputText
元素的其他属性,它会起作用。例如,我可以将有问题的行更改为inputText.style.cssText = "background-color: blue;";
,它会正常工作。但是,如果我尝试使用textContent
, 甚至更改文本,innerText
或者innerHTML
它不起作用。
知道发生了什么吗?
编辑:只是补充一下,javascript文件被导入到我底部的html文件中,所以它是在创建DOM之后运行的。此外,该inputText
元素工作得很好,包括textContent
在代码的其他地方更新它。我也可以textContent
在控制台中更新它就好了。
解决方案
推荐阅读
- c# - 无法使用 AutoMapper 映射到空值
- python - 在 Python Flask 中,没有将选定的单选按钮值从一个 HTML 表单获取到另一个表单
- php - 解析具有特定内容的 xml 条目
- c# - c#没有为DTO属性中的类型定义无参数构造函数
- xml - 如何使用 XSD 验证使属性在 XML 中唯一
- vue.js - 组件已注册但未使用 vue/no-unused-components
- ios - Apple 是否在 Swift 中弃用了 iPhone 3D touch?
- scala - 如何在特定路径上将数据帧与 JSON 编码的行连接起来?
- c++ - 上标 4 未显示在 MFC 对话框中
- angular - 如何使用 Typescript 将属性作为参数传递?