jQuery - 删除警报停止代码

时间:2011-10-13 21:03:08

标签: javascript jquery

以下代码有效,但存在问题。

那个问题是除非警报(this.href); - (关于第11行)在代码中,以下函数不起作用。

//There are pages which make up 2 chapters in this content
//We shall attempt to grab all the links from these pages
var c;
var chapters = new Array();
chapters[0] = "original/html/0/ID0EFJAE.html";  

//Loop through each page of links
$.each(chapters, function(key, value) { 
    $("#theContent").append("<div class='chapterindex" + key + "'>working</div>");
    $(".chapterindex" + key).load(value + " .content");     

    alert(this.href);

    $(".chapterindex" + key + " div.link a").each(function(intIndex) {
            alert(".chapterindex" + key);
        });
    });

如果我从第11行取出第一个警报,则最后一个警报不会触发。我做错了什么?

2 个答案:

答案 0 :(得分:5)

alert导致的延迟允许加载load来电中的数据。我怀疑当您删除alert时,数据无法及时加载。

尝试使用load调用回调,例如(代码未测试) -

$(".chapterindex" + key).load(value + " .content",function () {
        $(".chapterindex" + key + " div.link a").each(function(intIndex) {
            alert(".chapterindex" + key);
        });
});

答案 1 :(得分:1)

第一个警报可能是给负载功能足够的时间来完成所以当你拿出它时,当它试图触发你的第二个警报时,没有完成加载功能。