Javascript设置img src

我可能错过了一些简单的东西,但是当你阅读的所有东西都不起作用的时候,这很烦人。 我有在dynamic生成的页面的过程中可能被复制多次的图像。 所以显而易见的事情是预加载它,并始终使用这个variables作为源。

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); 

但是,当我查询图像我得到的[object HTMLImageElement]作为图像的src时,图像从来没有在FireBug中正确设置

在IE中我得到:

 http://localhost:8080/work/Sandbox/jpmetrix/[object] 

你应该使用这个设置src:

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

要么

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

纯JavaScript创buildimg标签并手动add attributes

 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); 

pic1设置src

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

要么

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

j-Query将其归档,

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

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

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

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

像这样:

 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 } 

另外,解决这个问题的一个方法是使用document.createElement并创build你的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社区现在鼓励开发人员使用文档select器,如querySelectorgetElementByIdgetElementsByClassName而不是文档[“pic1”]。

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

应该工作

你不需要构造一个全新的图像… src属性只需要一个string值:-)

你需要设置

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

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

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

尝试

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

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

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

看起来更好

如果您使用WinJS ,则可以通过Utilitiesfunction更改src

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