获取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);
});