为什么没有.attr(" src"," /some/path/image.png")有效?

时间:2014-06-16 15:47:32

标签: javascript jquery html image

我正在尝试用另一条路径替换标签的src。这非常有效:

var tempDocId = 'someId';
$('#documents' + that.ticketId).append('<img id="'+tempDocId+'" src="/img/support/pdf_icon.jpg">');

但是下面的代码给出了一个“未找到图像”图标(enter image description here):

var tempDocId = 'someId';
$('#documents' + that.ticketId).append('<img id="'+tempDocId+'" src="/img/support/loading.jpg">');
$('#tempDocId').attr("src", "/img/support/pdf_icon.jpg");

有人知道我在这里做错了什么吗?欢迎所有提示!

3 个答案:

答案 0 :(得分:4)

因为您正在寻找id =“tempDocId”,而不是您生成的那个。

$('#tempDocId').attr("src", "/img/support/pdf_icon.jpg");

需要

$('#' + tempDocId).attr("src", "/img/support/pdf_icon.jpg");

因此您不会更换来源。我的猜测是你的加载图片无效。

答案 1 :(得分:0)

因为$('#tempDocId')不存在。 tempDocId是一个变量,请尝试:

$('#' + tempDocId).attr('src', '/img/support/pdf_icon.jpg');

答案 2 :(得分:0)

var tempDocId = 'doc' + Math.random().toString().substr(2);
var $img = $('<img id="'+tempDocId+'" src="/img/support/loading.jpg">');
$img.appendTo('#documents' + that.ticketId);
$img.attr('src', '/img/support/pdf_icon.jpg');