jquery图像加载/替换

时间:2009-09-30 18:36:42

标签: javascript jquery

我无法弄清楚为什么我无法使用jQuery加载图像。在我看来,浏览器缓存问题,但我不确定。我正在做一个ajax调用,它返回一些生成图像的路径。在完整的方法上,我想替换我对这个新图像的现有图像。会发生什么是图像的src改变但我的图像保持不变。 这是代码的一部分。你能告诉我我做错了什么吗?

'onComplete' : function(response)
{
    var img = new Image();

    $(img).load(function()
    {
        $('#imagecontainer').children("#imagepreview").remove();
        $('#imagecontainer').append(this);
        $(this).fadeIn();
    }).attr('src', response);
}

如果我输入attr('src', 'image.jpg')它可以正常工作,如果我提醒响应它会给我'image.jpg'但是如果我放attr('src', response)它就不起作用了!

由于

2 个答案:

答案 0 :(得分:0)

在不知道您使用哪种jQuery方法发出请求的情况下,我无法确定问题所在;但我想说的是尝试response.responseText而不是response

另外,该行:

$('#imagecontainer').children("#imagepreview").remove();

也可能是:

$('#imagepreview').remove();

因为我假设您的ID是唯一的:)

答案 1 :(得分:0)

在将图像附加到容器后,您似乎正在将图像添加到图像中。而且你要添加的新图像是否应该具有“imagepreview”的ID?

'onComplete' : function(response)
{
        var img = new Image();
        $(img).load(function()
        {
                $("#imagepreview").remove();
                $(this).attr({'src':response, 'id': 'imagepreview'});
                $('#imagecontainer').append(this);
                $(this).fadeIn();
        });
}