問題:如何僅使用 JavaScript 在動態生成的按鈕中更新 span 的 innerHtml?
我正在構建一個“喜歡”功能(想想社交媒體),用戶可以在其中喜歡/不喜歡帖子,但我不知道如何選擇用戶點擊的特定范圍的值。我只能使用找到 jQuery 解決方案.find('span')
const htmlBtn = `<button ><span>0</span></button>`;
const create = document.getElementById("create");
create.addEventListener("click", (e) => {
const container = document.createElement("div");
container.className = "container";
container.innerHTML = htmlBtn;
document.getElementById("app").append(container);
});
const app = document.getElementById("app");
app.addEventListener("click", (e) => {
const btn = e.target;
/*
each time someone click nth button, span within nth button increments by 1
let count = document.querySelector("span").innerHTML;
count ;
document.querySelector("span").innerHTML = count;
*/
});
<button id="create">Create</button>
<div id="app"></div>
預期結果:用戶單擊按鈕以僅將該按鈕的跨度增加 1。
uj5u.com熱心網友回復:
e.target.children會給你一個包含所有子元素button的陣列,陣列的第 0 個索引應該是你的span元素,然后你可以使用該innerHTML方法正常編輯它。
在你的情況下,
let count = parseInt(e.target.children[0].innerHTML);
e.target.children[0].innerHTML = count 1;
uj5u.com熱心網友回復:
create.addEventListener("click", (e) => {
const container = document.createElement("div");
container.className = "container";
container.innerHTML = htmlBtn;
document.getElementById("app").append(container);
container.addEventListener("click", (e) => {
const value = e.target.innerHTML;
e.target.innerHTML = (value 1).toString();
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/485355.html
標籤:javascript html
