我的jQuery嵌套函数无法返回值

时间:2015-01-30 12:12:36

标签: javascript jquery

我有一个带有嵌套函数的jQuery插件(存储在数据对象上,以便我以后可以调用它)。我的问题是,当我调用此函数时,它似乎无法返回一个简单的值,它返回undefined或插件附加到的html对象...

    var findTheObject = function(self,needle) {

        var haystack = self.data('galleryData');
        console.log('haystack is:');
        console.log(haystack);

        console.log('needle is:');
        console.log(needle);

        for (i = 0; i < haystack.length; ++i) {
            console.log('looking for needle...');
            if (haystack[i]['fileId'] == needle) {
                console.log('found needle:');
                console.log(haystack[i]);
                return haystack[i];
            }
        }

        return 'found no match';
    };
    this.data('findTheObject',findTheObject); //make callable later on through the data array.

我称之为:

        if (self.data("activeFolder") != null) {
            var needle = self.data("activeFolder");
            var haystack = self.data('galleryData');

            current = null;
            //find the object corresponding to data("activeFolder")

            current = self.data(findTheObject(self,needle));

            console.log('returned object is:');
            console.log(current);

1 个答案:

答案 0 :(得分:0)

引用(Satpal):

像self.data一样使用它(&#39; findTheObject&#39;)(自我,针)

在语句self.data(findTheObject(self,needle))中,首先调用全局函数findTheObject然后返回它假设一个字符串abc然后它正在寻找self.data(&#39; abc&#39;)

关闭报价。

我喜欢在回答问题时检查我的问题。这个答案的信用到Satpal但是因为他选择不发布它作为答案我将总结他的答案(如果你发表答案,我会检查答案,并取消我自己给你的答案)