从$(document).ready(function()获取数据

时间:2018-02-18 05:52:59

标签: javascript jquery

我是stackoverflow和javascript(尤其是jquery和ajax)的新手。我一直试图解决这个问题超过一天仍然无法解决它。所以我试图从文件夹中获取一个图像名称列表:

folder = 'image/';
function imageCollection(theImageList) {
    $(document).ready(function () {
        $.ajax({
            url: folder,
            success: function (data) {
                $(data).find("a").attr("href", function (i, val) {
                    if (val.match(/\.(jpe?g|png|gif)$/)) {
                        $("#comparison").append("<img src='" + folder + val + "'>");
                          theImageList.push(folder+val);

                    }
                });
            }
        })
    })
}

imageCollection(theImageList)
var imgLength = theImageList.length; // returns 0 while if I type theImageList.length directly in the console it shows 54

我设置了ImageList全局变量。非常奇怪的是,当我在控制台中键入theImageList时,它显示长度为54,我可以毫无问题地访问每个文件名。但是,当我设置var imgLength = theImageList.length时  (在我读取文件的功能之后)它给了我0,当我试图访问元素时,比如theImageList [0],它返回undefined。同样,我的图像显示成功地添加到我的比较div中,但是当我尝试通过函数外的$('img')访问它们时,再次失败。我也尝试在我的函数中返回theImageList但又失败了。

所以在这一点上我真的很困惑我的代码发生了什么。它显示出工作的迹象,但仍然没有给我我一直在寻找的东西。我不是在这里问什么是正确的问题。欢迎任何建议!

0 个答案:

没有答案