添加图像前置未出现

Posted

技术标签:

【中文标题】添加图像前置未出现【英文标题】:Adding image prepend is not appearing 【发布时间】:2015-07-09 07:29:57 【问题描述】:

我是 javascript/jQUERY 的新手。 我使用 load() 从 url 加载一个 div。然后我想在 span 的左侧插入一个图像。 我正在使用 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】:

因为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" />');
);

【讨论】:

以上是关于添加图像前置未出现的主要内容,如果未能解决你的问题,请参考以下文章

图像视图未出现在屏幕上

jQuery 对象根本不前置

jQuery 前置图像

Xcode - 用户选择后图像未出现在 UIImageView 中

Unity c#图像未出现在UI画布面板中

嵌入图像未添加到舞台