0

我有 12 个函数都在做同样的工作,但只是针对不同的元素。我正在尝试清理我的代码,看看是否有办法为它创建一个函数。

例子:

    function incrementValue()
{
    var value = parseInt(document.getElementById('number').value, 10);
    value = isNaN(value) ? 0 : value;
    value++;
    document.getElementById('number').value = value;
}
function incrementValue2()
{
    var value = parseInt(document.getElementById('number2').value, 10);
    value = isNaN(value) ? 0 : value;
    value++;
    document.getElementById('number2').value = value;
}

基本上每次单击按钮时,它都会增加输入中的值。

HTML:

<input type="button" onclick="incrementValue()" value="VOTE" />
<a href="option1.html" title="More information"><img src="icon.png" /></a>

我已经尝试过,但似乎总是有问题:/不知道我做错了什么。似乎找不到关于此的明确教程,所以如果有人可以将我指向一个教程,那么我可以编写代码并自己回答这个问题!

谢谢

4

2 回答 2

3

看起来您只需要一个参数化函数:

function incrementValue( target )
{
    var el = document.getElementById( target );
    var value = parseInt( el.value, 10);
    value = isNaN(value) ? 0 : value;
    value++;
    el.value = value;
}

然后你可以调用这个函数

incrementValue( 'number' );
incrementValue( 'number2' );
// etc.
于 2013-07-01T08:43:52.097 回答
0

使用Attribute Starts With Selector来处理这种情况

$("input[id^=number]")
于 2013-07-01T08:45:28.883 回答