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";
是你应该做的。 您仍然可以使用图像构造函数,并在searchPic
的onload
处理函数中执行第二个动作。 这确保图像在你设置真正的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器,如querySelector
, getElementById
和getElementsByClassName
而不是文档[“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 ,则可以通过Utilities
function更改src
。
WinJS.Utilities.id("pic1").setAttribute("src", searchPic.src);