我想问一下是否可以使用Javascript调用循环内的函数。
我想创建一个文本字段,在不使用HTML"数字"的情况下递增和递减按钮。输入
是否有更简单的方法将函数标准化为1并改为使用循环?
function increment() {
document.getElementById("myNumber").stepUp(1);
}
function increment2() {
document.getElementById("myNumber2").stepUp(1);
}

Number: <input type="number" id="myNumber">
<button onclick="increment()">+</button>
Number: <input type="number" id="myNumber2">
<button onclick="increment2()">+</button>
&#13;
答案 0 :(得分:3)
如何将id作为参数传递给函数:
function increment(id) {
document.getElementById(id).stepUp(1);
}
然后:
Number: <input type="number" id="myNumber">
<button onclick="increment('myNumber')">+</button>
Number: <input type="number" id="myNumber2">
<button onclick="increment('myNumber2')">+</button>
答案 1 :(得分:2)
您可以在函数调用中传递输入的id
:
function increment(elem) {
document.getElementById(elem).stepUp(1);
}
Number:
<input type="number" id="myNumber">
<button onclick="increment('myNumber')">+</button>
Number:
<input type="number" id="myNumber2">
<button onclick="increment('myNumber2')">+</button>
答案 2 :(得分:0)
其他答案肯定会解决这个问题,但是......现在强烈建议不要使用'onclick'和类似的属性来处理JavaScript事件(例如,请参阅“Why is using onClick() in HTML a bad practice?”)。
推荐的方式是addEventListener('click', callback)
,因为代码更易于维护和清除。
请参阅https://jsfiddle.net/zrx2xqgg/作为您的特定任务的示例。 输入的选择器作为属性传递给按钮。