在循环内调用函数

时间:2017-01-07 08:02:29

标签: javascript function loops

我想问一下是否可以使用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;
&#13;
&#13;

3 个答案:

答案 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/作为您的特定任务的示例。 输入的选择器作为属性传递给按钮。