我不得不从图像的 onclick 属性中提取第二个参数(数组),但 jQuery 只是返回了一个函数 onclick 而不是预期的字符串值。所以我不得不使用原生方法。
快速搜索表明它可能适用于某些浏览器,例如 FF,但不适用于 IE。我使用 Chrome。
<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(',');
关于javascript - 使用 jQuery 获取 onclick 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4185231/