清理多个jquery函数

时间:2013-07-01 08:42:02

标签: jquery

我有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>

我试过但似乎总是有些不妥:/不确定我做错了什么。似乎无法找到关于此的明确教程,所以如果有人可能只是指向我的教程,那么我可以编写代码并自己回答!

由于

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

使用 Attribute Starts With Selector 来处理此案例

$("input[id^=number]")