如何动态更改onclick值

时间:2014-02-18 17:50:24

标签: javascript jquery dynamic replace onclick

我有一个看起来像这样的按钮:

<button id="button-1" onclick="adjustValue(1, 1, 30, 1, 'user');">Test</button>

我目前使用此按钮的功能正常工作。但是,我可以添加哪些功能以允许它编辑onclick字段的值?

function adjustValue() {
    // Something to alter the field values
}

例如,在运行该函数后,我希望它更改按钮的onclick字段。 (以下示例中的数字是随机的。)

<button id="button-1" onclick="adjustValue(1, 2, 60, 1, 'user');">Test</button>

我相信我需要使用document.getElementById的内容。但是,我还是JavaScript的新手,我不知道如何实现这一点。

2 个答案:

答案 0 :(得分:0)

要访问adjustValue()中的按钮,您可以传递参数this。例如:

adjustValue(1, 2, 60, 1, 'user', this);

this参数将是button#button-1,您可以在其中更改<button>

的值

答案 1 :(得分:0)

我不认为这是最好的方法。

我宁愿选择这样的事情:

<button id="button-1" onclick="adjustValue(this);" data-values='["12","b","c"]'>Test</button>

和javascript部分:

function adjustValue(element) {
    var val = $(element).data("values");
    //Do something with val
    var newValues = [42,"world","hello"];
    $(this).data("values",newValues);
}

或者您也可以直接将所有内容放在javascript变量中:

<button id="button-1" onclick="adjustValue();">Test</button>

和javascript:

var values = [1,2,3];
function adjustValue() {
    values = [4,5,6];
}