[英]How do I make an h1 element for each value in an array?
我在 JavaScript 中有一個數組,如下例所示。 我的問題是:單擊按鈕時,如何為數組的每個值創建一個 h1 元素?
Names = [] function submit() { let inputValue = document.getElementById("name").value; Names.push(inputValue); let frame = document.getElementById("frame"); frame.innerHTML = `<div><h1>${Names}</h1></div>` }
<button onclick="submit()">Submit</button> <input placeholder="name" id="name"> <div id="frame"></div>
如何創建包含數組中每個值的單獨 H1 元素?
你可以像下面那樣做,每次你想添加一個新的時清空frame
innerHTML
,然后遍歷Names
列表並使用document.createElement("h1")
創建新的h1
元素。 這里的關鍵是使用append()
將創建的元素添加到所需的元素。
檢查以下:
var Names = [] function submit() { let inputValue = document.getElementById("name").value; Names.push(inputValue); let frame = document.getElementById("frame"); frame.innerHTML = ""; Names.forEach(function(el, i) { let h1 = document.createElement("h1"); h1.innerHTML = Names[i]; frame.append(h1); }); }
<button onclick="submit()">Submit</button> <input placeholder="name" id="name"> <div id="frame"></div>
另一種可能更好的方法是只使用append()
添加新輸入,如下所示:
var Names = [] function submit() { let inputValue = document.getElementById("name").value; Names.push(inputValue); let frame = document.getElementById("frame"); let h1 = document.createElement("h1"); h1.innerHTML = inputValue; frame.append(h1); }
<button onclick="submit()">Submit</button> <input placeholder="name" id="name"> <div id="frame"></div>
我想你的意思是每當用戶輸入一個名字並按下提交..這個名字應該被添加到一個帶有 id 框架的列表中吧?
如果是,那么您只需要解決一個小問題:
frame.innerHTML = `<div><h1>${Names}</h1></div>`
這行代碼導致了這個問題,您在舊名稱之上重寫了新名稱,您應該做的是:
框架 = 舊框架 + 新名稱
在代碼中:
frame.innerHTML += `<div><h1>${Names}</h1></div>`
或者
frame.innerHTML = frame.innerHTML+ `<div><h1>${Names}</h1></div>`
兩行代碼做同樣的事情,但寫法不同
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.