Javascript 正在生成计算器,获取无法将属性“value”设置为null
我正在制作一个计算器,我不断地遇到这个错误,我试着用几种不同的方法键入它,但我无法找出它,请帮帮我Javascript 正在生成计算器,获取无法将属性“value”设置为null,javascript,function,object,properties,calculator,Javascript,Function,Object,Properties,Calculator,我正在制作一个计算器,我不断地遇到这个错误,我试着用几种不同的方法键入它,但我无法找出它,请帮帮我 const calculator = { displayValue: '0', firstOperand: null, waitingForSecondOperand: false, operator: null, }; function updateDisplay() { const display = document.querySelector('.calculator
const calculator = {
displayValue: '0',
firstOperand: null,
waitingForSecondOperand: false,
operator: null,
};
function updateDisplay() {
const display = document.querySelector('.calculator-screen');
display.value = calculator.displayValue;
}
updateDisplay();
我在屏幕上看到了错误
display.value = calculator.displayValue;
这是该文件的html
<div class="calculator">
<input type="text" class="calculator-screen" value = "0" disabled />
<div class="calculator-keys">
<button type="button" class="operator" value="+">+</button>
<button type="button" class="operator" value="-">-</button>
<button type="button" class="operator" value="*">×</button>
<button type="button" class="operator" value="/">÷</button>
该错误表示该行:
const display = document.querySelector('.calculator-screen');
正在返回null。所以当你这样做的时候:
display.value = calculator.displayValue;
你真的是在说:
null = calculator.displayValue;
尝试记录该值并自己检查:
function updateDisplay() {
const display = document.querySelector('.calculator-screen');
console.log('display: ', display); // this is probably 'null'
display.value = calculator.displayValue;
}
我猜你在类计算器屏幕上没有选择器。仔细检查拼写或张贴相关HTML,以便我确认
这是您的代码,它似乎工作正常,我没有收到任何错误,因此我不确定您那边发生了什么:
常数计算器={
displayValue:“0”,
第一个操作数:null,
等待第二个选项:false,
运算符:空,
};
函数更新显示{
const display=document.querySelector'.calculator screen';
display.value=calculator.displayValue;
}
更新显示;
+
-
&时代;
&划分;
您的document.querySelector似乎找不到所需的元素
此错误意味着当您尝试设置其值时,display可能为null,唯一可能导致此错误的是校正器未找到所需的选择 这可能是由于输入html标记的disabled属性造成的。请删除禁用的属性,并在其有效时重试 确保您的HTML具有.calculator screen类,我认为是document.querySelector.calculator screen;正在返回null/undefined,请检查是否有类计算器屏幕中的元素?如果您发布一个工作示例,那么就更容易进行故障排除。嘿,我用代码所引用的一点HTML更新了文件。谢谢你的帮助@LucasO我运行了你的代码,没有错误,你确定你在正确的位置包含了标记吗?如果您在试图选择的HTML块之前加载它,它将抛出该错误。确保标记位于文档的最底部,即结束标记之前。您可以从我的答案中的片段中看到,没有显示任何错误。