Javascript设置img src

问题描述 投票:74回答:10

我可能错过了一些简单的东西,但是当你读到的所有内容都不起作用时,它会非常烦人。我有可能在动态生成的页面过程中多次复制的图像。因此,显而易见的事情是预加载它并始终使用该变量作为源。

var searchPic;
function LoadImages() {
    searchPic = new Image(100,100);
    searchPic.src = "XXXX/YYYY/search.png";
    // This is correct and the path is correct
}

然后我使用设置图像

  document["pic1"].src = searchPic;

要么

  $("#pic1").attr("src", searchPic);

但是,当我查询图像时,图像永远不会在FireBug中正确设置我得到[object HTMLImageElement]作为图像的src

在IE中我得到:

http://localhost:8080/work/Sandbox/jpmetrix/[object]
javascript image src
10个回答
88
投票

您应该使用以下方法设置src:

document["pic1"].src = searchPic.src;

要么

$("#pic1").attr("src", searchPic.src);

0
投票

如果你正在使用WinJS,你可以通过src函数更改Utilities

WinJS.Utilities.id("pic1").setAttribute("src", searchPic.src);

46
投票

Pure JavaScript to Create img tag and add attributes manually ,

var image = document.createElement("img");
var imageParent = document.getElementById("body");
image.id = "id";
image.className = "class";
image.src = searchPic.src;            // image.src = "IMAGE URL/PATH"
imageParent.appendChild(image);

Set src in pic1

document["#pic1"].src = searchPic.src;

或者使用getElementById

document.getElementById("pic1").src= searchPic.src;

j-Query to archive this,

$("#pic1").attr("src", searchPic.src);

6
投票

图像构造函数的实例不应在任何地方使用。你只需设置src,图像预加载......就是这样,显示结束。您可以丢弃该对象并继续前进。

document["pic1"].src = "XXXX/YYYY/search.png"; 

是你应该做的。您仍然可以使用图像构造函数,并在onloadsearchPic处理程序中执行第二个操作。这可以确保在真正的src对象上设置img之前加载图像。

像这样:

function LoadImages() {
    searchPic = new Image();
    searchPic.onload=function () {
        document["pic1"].src = "XXXX/YYYY/search.png";
    }
    searchPic.src = "XXXX/YYYY/search.png"; // This is correct and the path is correct
}

4
投票

另外,解决这个问题的一种方法是使用document.createElement并创建你的html img并设置它的属性。

var image = document.createElement("img");
var imageParent = document.getElementById("Id of HTML element to append the img");
image.id = "Id";
image.className = "class";
image.src = searchPic.src;
imageParent.appendChild(image);

备注:有一点是Javascript社区现在鼓励开发人员使用文档选择器,如querySelectorgetElementByIdgetElementsByClassName,而不是文档[“pic1”]。


2
投票
document["pic1"].src = searchPic.src

应该管用


1
投票

你不需要构造一个全新的图像... src属性只需要一个字符串值:-)


0
投票

你需要设置

document["pic1"].src = searchPic.src;

searchPic本身就是你的Image(),你需要读取你设置的src。


0
投票

您的src属性是一个对象,因为您将src元素设置为您在JavaScript中创建的整个图像。

尝试

document["pic1"].src = searchPic.src;

0
投票

哇!当你使用src时,srcsearchPic也必须使用。

document["pic1"].src = searchPic.src

看起来更好

© www.soinside.com 2019 - 2024. All rights reserved.