【发布时间】:2023-03-18 11:44:02
【问题描述】:
我有多个按钮,我想在不同的相应输入中增加一个值。我能够让所有按钮工作,但它们只影响第一个输入。我意识到我可以为每个按钮写出三个不同的功能,但我知道有一种方法可以利用一个功能。提前感谢您的帮助!
以下代码供参考:
let submit = document.querySelectorAll(".submit");
let num = document.querySelector(".num");
submit.forEach((btn)=>{
btn.addEventListener("click", increment);
});
let value = 0;
function increment(){
value +=1;
num.value = value;
}
<div class="container">
<div class="main">
<button class="submit">Submit</button>
<div class="withinDiv"><input type="number" class="num" value="0"></input> </div>
<button class="submit">Submit</button>
<div class="withinDiv"><input type="number" class="num" value="0"></input> </div>
<button class="submit">Submit</button>
<div class="withinDiv"><input type="number" class="num" value="0"></input> </div>
</div>
</div>
【问题讨论】:
-
您的
increment()函数中应该有一个event变量。此事件有一个target字段。尝试为每个按钮设置一个 ID,并使用此 ID 识别目标。 -
选择下一个兄弟
-
而
<input/>标签是自闭合的,<input></input>是无效的HTML
标签: javascript