如何解决Javascript计算器:如何根据条件创建操作员按钮?
这是我第一次尝试使用Javascript,因此这可能是一个我没有经验的简单问题。
我正在尝试根据用户名中第一个字母在字母A-M之间的条件创建一个计算器操作员按钮。我已经使用示例用户名对其进行了测试,并且我创建的条件成功运行。但是,我当前在此语句中得到“ TypeError:无法设置未定义的属性'className'”:
if (let_am.includes(username.split("")[0])){
var add = document.createElement("button");
add.className = "operator";
add.dataAction = "add";
add.innerHTML = "+";
var body = document.getElementsByTagName("div")[0];
body.appendChild(add);
我已经在给它一个className之前定义了var“ add”,所以我不确定什么是未定义的。
解决方法
在您的代码段中,有些事情需要更正。
首先,可以使用新的ES6变量声明关键字var
和let
来代替const
,而可以用谷歌搜索这三个关键字之间的区别以及为什么要使用新关键字
为回答您的问题,抛出的错误是TypeError: cannot set property className of undefined
。这意味着您试图以不合适的方式使用add
。
您可以尝试执行add.className += 'operator'
或add.classList.add('operator')
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。