Javascript button.value是否未定义?

Javascript button.value是否未定义?,javascript,html,dom,Javascript,Html,Dom,在尝试制作计算器时,我发现了一个我无法解决的问题。在我的脚本中,我告诉浏览器,当单击按钮时,它会将该按钮的值添加到计算器的显示中。(例如,如果计算器当前显示“455”,而您单击加号按钮,则显示文本将变为“455+”,因为加号按钮的值为“+”) 我在这里遇到的问题是,当我单击一个按钮时,“undefined”将添加而不是该按钮的值。为什么button.value返回未定义的值而不是按钮的值?这里有什么问题 window.onload=()=>{ const calculator=document

在尝试制作计算器时,我发现了一个我无法解决的问题。在我的脚本中,我告诉浏览器,当单击按钮时,它会将该按钮的值添加到计算器的显示中。(例如,如果计算器当前显示“455”,而您单击加号按钮,则显示文本将变为“455+”,因为加号按钮的值为“+”)

我在这里遇到的问题是,当我单击一个按钮时,“undefined”将添加而不是该按钮的值。为什么
button.value
返回未定义的值而不是按钮的值?这里有什么问题

window.onload=()=>{
const calculator=document.querySelector('form[name=“calculator”]”)
const btns=document.queryselectoral(`form[name=“calculator”]table tr td`)
btns.forEach((按钮)=>{
按钮。addEventListener('单击',()=>{
计算器.display.value+=按钮.value
})
})
}

您选择的是
,而不是
。更改选择器以选择按钮

const btns = document.querySelectorAll(`form[name="calculator"] table tr td input[type="button"]`)

您选择的是
,而不是
。更改选择器以选择按钮

const btns = document.querySelectorAll(`form[name="calculator"] table tr td input[type="button"]`)

TD没有值。您正在将单击处理程序附加到单元格,而不是输入。您的显示元素不在TD中,因此您的标记无效。谢谢。这是有道理的。TD没有值。您正在将单击处理程序附加到单元格,而不是输入。您的显示元素不在TD中,因此您的标记无效。谢谢。这是有道理的。它不是一个标签/按钮/输入/?它是一个类型设置为按钮的
输入
标签。我仍然理解你的意思,我在一个“td”标记中插入了一个EventListener,而不是按钮本身,因此它的值仍然没有定义。谢谢它不是标签/按钮/输入/?它是一个
输入
标签,类型设置为按钮。我仍然理解你的意思,我在一个“td”标记中插入了一个EventListener,而不是按钮本身,因此它的值仍然没有定义。谢谢