使用replace替换为jQuery更改onclick属性

Sha*_*non 3 jquery attributes replace onclick attr

有人知道在onclick属性中替换一些字符串的最佳方法是什么?
我需要获取当前值并替换参数内的一些文本.

例如,
我有这个链接:

<a href="#" onclick="myfunction('parameter1a','parameter1b')">My link</a>
Run Code Online (Sandbox Code Playgroud)

我想要这个:

<a href="#" onclick="myfunction('parameter2a','parameter2b')">My link</a>
Run Code Online (Sandbox Code Playgroud)

换句话说,我想要这样的东西:

$('a').attr('onclick', $(this).attr('onclick').replace('1', '2'));
Run Code Online (Sandbox Code Playgroud)

而且我知道我可以做到这一点,但我需要一些动态回溯当前元素的值:

$("a").attr('onClick', "myfunction('parameter2a','parameter2b')");
Run Code Online (Sandbox Code Playgroud)

最后它在我做一个简单的演示时工作:http://jsfiddle.net/GkWhh/4/

谢谢你的解决方案!

und*_*ned 11

$('a[onclick]').attr('onclick', function(i, v){
   return v.replace(/1/g, '2');
});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/cj9j7/

如果你需要更动态的东西不使用onclick属性,改变onclick属性是hackish,你可以使用click方法代替.

var param = 1;
$('a').click(function(){
   // ...

   if ('wildguess') {
     param = 1;
   } else {
     param++;
   }
})
Run Code Online (Sandbox Code Playgroud)