javascript - 如何从使用 $.each() 的函数返回数据

标签 javascript jquery

当我尝试从使用 $.each() 的函数返回一个值时,我得到的是 undefined 而不是该值。但是当我直接从函数返回它时,它会找到该值。我不知道如何解决奇怪的行为。

我在这里做了一个 fiddle ,这是这个问题的一个例子: JS Fiddle

    function returneach() {
        $("b").each(function(i,v){
            if(i==3) { alert('should be: ' + i); return i; }
        });    
    }
    alert('but returns: ' + returneach()); // <- undefined

如何让它正常工作?

最佳答案

这里有两个嵌套函数。

内部函数内的返回不会导致外部函数返回。

使用变量并返回该变量:

function returneach() {
    var r;
    $("b").each(function(i,v){
        if(i==3) r = i;
    });
    return r; // This will either return 3 or undefined
}

关于javascript - 如何从使用 $.each() 的函数返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21317836/

相关文章:

javascript - Unicode 字符串替换不适用于完整的变音符号阿拉伯文本

javascript - 如何在javascript中使用替换复制文本

javascript - DOM CSS 跨浏览器库

javascript - 为什么我的输入永远不会被隐藏?

javascript - 如何将 img 尺寸从 html 移动到 css 并保持此 slider 正常工作?

javascript - 如何使用 php 和 javascript 将多个 div 转换为图像 (png/jpeg)?

javascript - 无法更改 body 元素的 html

javascript - 单击按钮后 GridView 上的类属性不起作用

javascript - Jssor jQuery 在 safari 上没有响应

javascript - 递归循环 JSON 数据