如何在Javascript中访问输入值

如何在Javascript中访问输入值,javascript,html,Javascript,Html,对于我的作业,我正在尝试创建一个计算器网站,并在实现该计算器的开和关按钮的过程中。我正在尝试访问输入的值,但不断出现以下错误: 赋值_4.html:62未捕获类型错误:无法读取的属性“0” 无效的 在HtmlButtoneElement.buttons.(匿名函数).onclick let buttons=document.queryselectoral(“.col-6”); for(设i=0;i 开/关 自动控制 7. 8. 9 / 4. 5. 6. x 1. 2. 3. - 0 . =

对于我的作业,我正在尝试创建一个计算器网站,并在实现该计算器的开和关按钮的过程中。我正在尝试访问输入的值,但不断出现以下错误:

赋值_4.html:62未捕获类型错误:无法读取的属性“0” 无效的 在HtmlButtoneElement.buttons.(匿名函数).onclick


let buttons=document.queryselectoral(“.col-6”);
for(设i=0;i
开/关
自动控制
7.
8.
9
/
4.
5.
6.
x
1.
2.
3.
-
0
.
=
+
获取元素时不需要#,因为它已经需要ID。请将调用更改为:

 document.getElementById("display")

你似乎把jQuery和JS搞混了。使用时不需要使用


e、 g.
document.getElementById('display');

需要更改回调中按钮[i]的引用,然后单击“this”。原因是,当事件发生时,按钮变量未定义,因此会引发错误

buttons[i].onclick=function(){
            console.log(this.innerHTML);
...

你说得对!!:)按钮和i变量有一个闭包。然而,由于for循环使用let(block scoped)而不是var,我认为当循环结束时,我不会等于它的最终值。我唯一关心的是他提到的错误“无法读取空值的0”。我同意其他关于getElementById(“#display”).value中有错误的准确回答,但这会抛出“value of undefined”。因此,对我来说,再现null的错误“0”的唯一方法是在buttons变量以某种方式具有null值的情况下。你觉得怎么样自从我使用该模式以来,DIt已经很长时间了,我真的没有考虑var和let之间的差异,但是使用let时,似乎I的值是静态的,所以按钮[I]仍然引用该节点(即
this==nodes[I]
)。我可能知道一次,但忘了。所以,虽然我认为这是一个很好的答案,但似乎不是问题在于ID不正确,因此document.getElementById返回null。