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

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

为例,
我有这个链接:

My link 

我想要这个:

 My link 

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

 $('a').attr('onclick', $(this).attr('onclick').replace('1', '2')); 

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

 $("a").attr('onClick', "myfunction('parameter2a','parameter2b')"); 

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

谢谢你的解决方案!

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

http://jsfiddle.net/cj9j7/

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

 var param = 1; $('a').click(function(){ // ... if ('wildguess') { param = 1; } else { param++; } }) 

听起来真是个坏主意但无论如何 – 你可以使用类似的东西访问onlick属性的字符串值:

$('a').each(function() { this.attributes.onclick.nodeValue = this.attributes.onclick.nodeValue.replace('1', '2'); })

你可以这样做: http : //jsfiddle.net/SJP7k/

 var atr = $('a').attr('onclick'); var str = atr.split('1'); var natr = str.join('2'); $('a').attr('onclick',natr);