使用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'); });
如果你需要更动态的东西,不要使用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);