改变的onclick使用jQuery的替换属性(Changing onclick attribute

2019-07-18 07:17发布

难道有人知道什么是更换一个onclick属性里面的一些字符串的最好方法?
我需要的电流值 ,更换里面的参数一些文字。

为例,
我有此链接:

<a href="#" onclick="myfunction('parameter1a','parameter1b')">My link</a>

我想这样的:

<a href="#" onclick="myfunction('parameter2a','parameter2b')">My link</a>

换句话说,我想是这样的:

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

我知道我能做到这一点,但我需要的东西动态retreiving当前元素的值:

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

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

感谢您的解决方案!

Answer 1:

$('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++;
   }
})


Answer 2:

听起来像一个非常糟糕的主意,但无论如何 - 你可以访问使用类似的点击数属性的字符串值:

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



Answer 3:

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

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


文章来源: Changing onclick attribute using replace with jQuery