获取onclick与jQuery的字符串

问题描述:

我不得不从图像上的onclick属性中提取第二个参数(数组),但jQuery只是返回一个函数onclick而不是预期的字符串值。所以我不得不使用本地方法。
快速搜索说它可能工作一些浏览器像FF,但不是IE浏览器。我使用Chrome。获取onclick与jQuery的字符串

<img src="path/pic.png" onclick="funcName(123456,[12,34,56,78,890]);" /> 

我认为这会工作,但它不

var div = $('div_id'); 
var onclick_string = $(div).find('img').eq(0).attr('onclick'); 
var onclick_part = $(onclick_string).match(/funcName\([0-9]+,(\[.*\])/)[1]; // for some reason \d doesnt work (digit) 

这工作

var div = $('div_id'); 
var onclick_string = $(div).find('img')[0].getAttributeNode('onclick').value; 
var onclick_part = $(onclick_string).match(/funcName\([0-9]+,(\[.*\])/)[1]; // for some reason \d doesnt work (digit) 

有没有得到第二个参数的另一种方式?

为什么不将它存储在数据属性中?

<img src="path/pic.png" onclick="funcName(123456);" data-mydata='12,34,56,78,890' /> 

var div_data = $('div_id').data('mydata').split(','); 

UPDATE

我通过跨段的标签和输出它们的onclick字符串集合使用下面的代码回路。它是hacky,但它的作品(firefox 7,JQuery 1.5.1)。你甚至可以重写字符串值。

$("span").each(function(index) 
{ 
    alert($(this)[0].attributes.onclick.nodeValue); 
});