今天在改项目bug时,发现一个问题,我获取一个div中所有的input,并取值时,判断某一条件,但是循环外的js依然可以执行。
??$(".tab-reg-next input").each(function() { ???????????if ($(this).attr("id") == 1) { ???????????????return ; ???????????} ???????});
很奇怪,一般来说return会终止js,但是今天万万没想到的是,jquery 的each循环中,return不好使,原因是因为each中的return与外面的函数是没有关系的,只是单独一个循环而已,所以改成下面的方式,就可以了
var result = true; ???????$(".tab-reg-next input").each(function() { ???????????if ($(this).attr("id") == 1) { ???????????????result = false; ???????????????return false; ???????????} ???????}); ???????if (!result) { ???????????$.fd.msg.notice("图片太大,超过5mb"); ???????????return ???????}
解决Jquery中使用each循环时,循环外的js依旧会执行
原文地址:https://www.cnblogs.com/FanJava/p/9288638.html