使用jquery动态更改“onclick”调用

时间:2013-04-10 10:16:50

标签: jquery

我在onclick活动期间有javascript调用图片。

onclick="removeFeetype(5);"

我需要在jQuery使用属性onclick="removeFeetype(4);进行其他调用时将其更改为ID。 这意味着我需要将函数调用从5更改为4。

我需要你的帮助。提前谢谢。

我尝试使用以下代码更改“onclick”调用方法。但是我的html代码没有更改ID为“removeButton”的特定元素。

------------------------ FIRST ---------------------- ---------

var changeval = 4;
var onclickval = "removeFeetype("+changeval+");";
$('#removeButton').attr("onclick", onclickval);

------------------------ SECOND ---------------------- -------------------

var changeval = 4;
var next = "removeFeetype(" + changeval + ");";
var newclick_next = eval("(function(){"+next+"});");
$('#removeButton').attr('onclick','').unbind().click(newclick_next);

其实我的任务是,

我有ID为

的行的序列
id="removeButton1" onclick="removeFeetype(1);"
id="removeButton2" onclick="removeFeetype(2);"
id="removeButton3" onclick="removeFeetype(3);"
id="removeButton4" onclick="removeFeetype(4);"

.....

如果我使用函数removeFeetype(2)删除removeButton2。

然后我需要将更改保留到

ID = removeButton3 to removeButton2 and so on and
ONCLICK = removeFeetype(3) to removeFeetype(2) and so on

我可以将ID removeButton3更改为removeButton2,依此类推。

但我无法从“removeFeetype(3);”更改onclick方法调用“removeFeetype(2);”

希望现在很清楚。请帮我解决。

3 个答案:

答案 0 :(得分:2)

您可以使用data()属性将值传递给javascript,您需要使用this传递源对象。

<input type="text" data-someAtt="1" onclick="removeFeetype(this)" />

function removeFeetype(obj)
{
    $(obj).data("someAtt");
}

答案 1 :(得分:1)

您可以尝试更改onclick属性值,如下所示:

$("#link").attr("onclick", "removeFeetype(4);");

http://jsfiddle.net/neX7W/

答案 2 :(得分:1)

让我们使用jQuery整体

$(document).ready(function(){
    $(".Fee").click(function(){
       removeFeetype($(this).attr('data-value'));
       $(this).attr('data-value',$(this).attr('data-value') - 1);
    }); 
});

我希望你的链接是

<div class="Fee" data-value="5">Link</div>