添加图像前置不会出现

时间:2015-07-09 07:29:58

标签: javascript jquery prepend

我是Javascript / jQUERY的新手。 我正在使用load()从网址加载div。然后我想在一个范围的左边插入一个图像。 我使用prepend但图像没有加载。当我从控制台运行代码时,图像正在正确加载。

$(document).ready(function() {


    var $div1 = $("<div></div>")
    var $div2 = $("<div></div>")
    $div1.attr("id", "div1");
    $div2.attr("id", "div2");

    $("#a_30").append($div1);
    $("#a_30").append($div2);

    var $posts = $('a.entry_title').map(function() {
        return $(this).attr('href');
    });

    var id1 = $posts[0].substring($posts[0].lastIndexOf('_') + 1);
    var id2 = $posts[1].substring($posts[1].lastIndexOf('_') + 1);

    var posts = ["url/open/" + id1, "url/open/" + id2]
    $('#div1').load(posts[0] + " .shadow3");
    $('#div2').load(posts[1] + " .shadow3");

    $('#div1').find('.entry_').prepend('<img id="MsgIcon" src="/email.gif" />');
    $('#div2').find('.entry_').prepend('<img id="MsgIcon" src="/email.gif" />');

});

1 个答案:

答案 0 :(得分:1)

因为load()是异步的,所以在加载数据之前执行下一个语句。您已使用load的完整回调,如下所示。

$('#div1').load(posts[0] + " .shadow3", function() {
    $('#div1').find('.entry_').prepend('<img id="MsgIcon" src="/email.gif" />');
});

$('#div2').load(posts[1] + " .shadow3", function() {
    $('#div2').find('.entry_').prepend('<img id="MsgIcon" src="/email.gif" />');
});