forEach无法使用break和return来中断,只能使用throw catch来达到中断的效果了。
var id = (function(){ // forEach 是无法中断的。除非用这种hack try { top.document.querySelectorAll('.layui-nav-tree a[data-options]').forEach(function (e, i) { var options = $(e).attr("data-options") if (~options.indexOf(window.location.pathname)) { throw new Error(eval('(' + options + ')').id) } }); } catch(err) { return err.message } }());