Javascript 如何将图像对象传递到分配给它的onclick函数中?
抱歉,如果这个问题让人困惑,我是自学javascript。我正在动态生成图像缩略图,我希望能够在用户单击缩略图时放大图像。我创建图像标记并分配onclick函数的代码如下所示Javascript 如何将图像对象传递到分配给它的onclick函数中?,javascript,html,css,Javascript,Html,Css,抱歉,如果这个问题让人困惑,我是自学javascript。我正在动态生成图像缩略图,我希望能够在用户单击缩略图时放大图像。我创建图像标记并分配onclick函数的代码如下所示 var imageTag = "<img onclick=\"enlargeImage()\" class=\"thumb\" src=\"" + photoURL + "\" />"; document.getElementById("image-thumbnail").innerHTML = imageT
var imageTag = "<img onclick=\"enlargeImage()\" class=\"thumb\" src=\"" + photoURL + "\" />";
document.getElementById("image-thumbnail").innerHTML = imageTag;
var-imageTag=“”;
document.getElementById(“图像缩略图”).innerHTML=imageTag;
有了上面的代码,我的缩略图就会显示出来,当用户单击它时,就会调用放大图像()
函数。我的问题是,如何访问在enlargeImage()
函数中单击的图像对象?我尝试访问函数中的this
对象,希望它指向单击的图像,但是this
指向整个页面,而不是单击的图像。我希望能够访问src
属性,以及更改图像缩略图的样式属性。我还应该注意到,最终会有多个图像,这就是为什么我需要这种动态行为
非常感谢您的帮助 有几种方法可以做到这一点。最简单的方法是简单地向
enlargeImage()
函数添加一个参数,并在调用它时向它传递一个this
引用
var imageTag = "<img onclick=\"enlargeImage(this)\" class=\"thumb\" src=\"" + photoURL + "\" />";
我建议查看jQuery,因为它有很多包装器和处理程序来处理这些东西,而且最近势头很好 为了更具体地回答您的问题,您可以将“this”传递给您的函数:
var imageTag = "<img onclick=\"enlargeImage(this)\" class=\"thumb\" src=\"" + photoURL + "\" />";
功能放大图像(img)
{
var src=img.src;
}
就像你复制了我的答案一样。:-)
var imageTag = "<img onclick=\"enlargeImage(this)\" class=\"thumb\" src=\"" + photoURL + "\" />";
function enlargeImage(img){
alert(img.src);
}