[英]Javascript Calculator: How can I create an operator button based on a condition?
這是我第一次嘗試使用 Javascript,所以這可能是一個我沒有經驗的簡單問題。
我正在嘗試根據用戶名中的第一個字母在字母表中的 AM 之間的條件創建一個計算器操作員按鈕。 我已經使用示例用戶名對此進行了測試,並且我創建的條件成功運行。 但是,我目前在此語句中收到“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 變量聲明關鍵字let
和const
代替var
,您可以谷歌搜索這三個關鍵字之間的差異以及為什么應該使用新關鍵字。
要回答您的問題,拋出的錯誤是TypeError: cannot set property className of undefined
。 這意味着您試圖以不適當的方式使用add
。
您可以嘗試這樣做add.className += 'operator'
或add.classList.add('operator')
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.