jquery中each函数的return

$("#dishTypeTable tbody").find("tr").eq(0).siblings().each(function(index){
                var chooseNum = $(this).find("td").eq(1).find("input:checked").length;
                console.log(chooseNum);
                if (chooseNum == 0) {
                    layer.msg("每个门店至少选择一个参与活动的菜品种类");
                    return;
                }
            });

运行之后发现并不能起到终止方法的作用,debug发现在each函数中每次return,只是起到了跳出当次循环的作用.

百度之后发现,return true(return) 相当于continue,跳出当次循环

      return false 相当于 break,跳出当前循环

如果想要终止function,需要抛出异常进行捕捉,在catch块中进行return

try {
                $("#dishTypeTable tbody").find("tr").eq(0).siblings().each(function(index){
                    var chooseNum = $(this).find("td").eq(1).find("input:checked").length;
                    console.log(chooseNum);
                    if (chooseNum == 0) {
                        throw "每个门店至少选择一个参与活动的菜品种类";
                        return;
                    }
                });
            } catch (e) {
                layer.msg(e);
                return;
            }

本文仅供参考

时间: 2024-10-14 14:20:20

jquery中each函数的return的相关文章

JQuery中trim函数的具体实现代码

由于Javascript 1.8.1 之前的版本,没有内置 trim 函数,所以 JQuery 对它有自己的实现.不同的JQuery版本,trim函数的实现也不尽相同. 阅读本文需要掌握正则表达式用法,如果不是很了解,建议阅读这个.鉴于正则表达式的强大用途(在各种语言如JS,Python,Ruby,Java中都会用到),建议重点学习并掌握. JQuery 1.7.2版本 // 截取的部分源码,不是完整语句,旨在说明实现过程 trimLeft = /^\s+/, trimRight = /\s+$

jquery中map函数与each函数的区别

?jquery中的each函数和map函数的用法看起来差不多,但其实还是有一点区别的. ?其中一个重要的区别是,each返回的是原来的数组,并不会新创建一个数组.而map方法会返回一个新的数组.如果在没有必要的情况下使用map,则有可能造成内存浪费. ?例如: var items = [1,2,3,4]; ? $.each(items, function() { alert('this is ' + this); }); var newItems = $.map(items, function(

jQuery中的事件处理:return false、阻止默认行为、阻止冒泡以及兼容性问题

转自:http://wyqbailey.diandian.com/post/2012-07-12/40030551971 return false 在jQuery中,我们常用return false来阻止浏览器的默认行为,那”return false“到底做了什么? 当你每次调用”return false“的时候,它实际上做了3件事情: event.preventDefault(); event.stopPropagation(); 停止回调函数执行并立即返回. 对,你没看错,return fa

通过在jquery中添加函数发送ajax请求来加载数据库数据,以json的格式发送到页面

通过在jquery中添加函数发送ajax请求来加载数据库数据,以json的格式发送到页面 从数据库中查询仓库信息,显示在下拉菜单中: 首先,引入js插件,这里使用jquery-1.8.3.js <script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.js"></script> 当页面加载完成后,就应该发送ajax请求到数据库,

jquery中ready函数,$(function(){})与自执行函数的区别

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-1.12.1.js"></script> <script type=&q

关于jQuery中toggle()函数的使用

今天遇到一个有趣的例子,将它记录下来. 一个一级菜单,里边有一个二级菜单,二级菜单是通过锚点来链接页面元素的.想要实现的效果是当点击锚点时,页面链接到相应锚点,同时二级菜单隐藏,再点击一级菜单时,继续执行.. 其中试了很多种方法都不行,最后通过读jquery的toggle函数实现了. //这样写可以 $(".nav").toggle(function(){ $(".content").slideToggle(); }); //这样写不可以 $(".nav&

jquery中data函数的用法示例

jquery中data() 方法向被选元素附加数据,或者从被选元素获取数据.这使我们通过HTML自定义属性,操作数据,显得非常方便.通常我们也会通过给html自定义属性这样的做法,来存储和操作数据.在jquery中也给我们 提供了data(name,value)这样的方法,来非常方便的实现.有了data()这个方法,你就可以很方便的在一个html标签中添加data-*这样的自定义属性.接下来,就data()方法简单的做下了解. 以下是摘自w3school中对data用法的说明: data方法从元

jQuery中bind函数绑定多个事件

名人名言:道德是真理之花.——雨果 在jQuery中绑定多个事件名称是,使用空格隔开,举例如下: $("#foo").bind("mouseenter mouseleave", function() { $(this).toggleClass("entered"); }); 在1.4版本以后,也可以如下绑定 $("#foo").bind({ click: function() { // do something on clic

js和jquery中判断函数是否存在

今天碰到一个比较尴尬的问题:在一个js文件中使用了一个jquery的方法,但是这个方法我又不知道在jquery的那个版本有,代码如下: function xxx(){ var $target = jQuery("#"+targetId); $target.fixed(true); } 调用xxx的时候报:Uncaught TypeError: undefined is not a function javascript中解决办法: if(window.myfunction){ } jq