需求是我根据点击元素的ID执行对应ID名称的函数初始化方法。我之所以用动态的原因是作为前端角色,我不知道每个ID是什么。(实际上我是知道了)
var oId; $('#btn').click(function () { oId = $('xxx').attr('id'); //具体实现不重要 // oId 的具体格式是 [id]-[时间戳] var arr = oId.split('-'); eval(arr[0]+".init()"); });
是否有其他的方法来解决?(并不排斥 eval函数 )
补充:
以防一些朋友不明白。
就是一般我们调用函数方法如下: func.init();
调用 func 方法的 init(); 现在我需要 func 这个是动态的,变成xxx.init();
最终方案:
有助于关注问题的朋友知道。
var oId; $('#btn').click(function () { oId = $('xxx').attr('id'); //具体实现不重要 // oId 的具体格式是 [id]-[时间戳] var arr = oId.split('-'); // 解决方法如下 var fn = window[arr[0]]; if( fn && fn.init ) { fn.init(); } });
慕工程0101907
相关分类