Javascript 我想更改div onclick的背景

Javascript 我想更改div onclick的背景,javascript,html,css,Javascript,Html,Css,如何将单击的图像作为div的背景?我不熟悉javascript。我尝试使用onclick,但代码不起作用。我希望可能是由于编程错误 <div id="canvas"></div> <div id="containerA"> <div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="imag

如何将单击的图像作为div的背景?我不熟悉javascript。我尝试使用onclick,但代码不起作用。我希望可能是由于编程错误

<div id="canvas"></div>
<div id="containerA">
<div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="image" onclick="change();"/></div>


function change(){
document.getElementById("image").style.backgroundImage = this('src');
};

我建议在项目中使用jQuery。使用jQuery,类似这样的功能可能会起作用:

var imageSource = "";

$("#img").click(function(){
   imageSource = $(this).attr("src");
   $('#canvas').css("background-image", "url("+imageSource+")");  
});

将您的代码更改为此-

<div id="canvas"></div>
<div id="containerA">
<div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="image" onclick="change(this);"/></div> // passed this to the parameter


function change(obj){
document.getElementById("canvas").style.backgroundImage = obj.src; // here
};

您声明了一个函数,但没有要求它运行。请尝试或输入下面的代码片段。此外,为了更好地控制,您可以分离代码

功能改变{ document.getElementByIdcanvas.style.background=url'//stepherldesign.com/wp content/uploads/2012/03/lorem ipsum logo.jpg' } document.getElementByIdcanvas.onclick=changeImg; 画布{/*仅用于测试,您可以自行更改*/ 宽度:325px; 高度:325px; 背景:红色; } 像这样将其传递给onclick函数

1.您没有添加Jquery 2.单击图像时,您正在调用change方法,但必须更正方法名称

在下图中,检查红色矩形是否存在错误-


添加相关代码、html、css、js等。无论您尝试了什么,对还是错,请随时与我们分享。我认为您应该尝试使用this.src或this.attr'src而不是this'src。您想更改哪个div的背景吗???id为Canvast的div没有jQuery标记,并且没有足够的信息来得出实际/可行的解决方案。虽然我很感谢您的帮助,但我不得不指出,您跳得太快了,并且有一个常见的误解,即JavaScript===jQuery@kovogel您的代码的最后一行有语法错误,您在semicolon@DavidThomas我理解这些反对意见,但在开始的时候没有共享代码。我添加了一个解释,说明我的示例需要jQuery。这里使用的是什么img?您现在可以解释一些带有img as id的内容吗。如果你删除了每个图像标签的its。你看过演示了吗?我相信你也在寻找同样的东西。我正在使用internet Explorer。我在IE-11中尝试了这个演示,它在那里工作。你能告诉我你用的是什么版本吗?当我把这些代码嵌入我的程序时,它不起作用。我已经创建了这个小提琴。你能检查一下为什么它不工作吗。OP不想使用jQuery。纯JS。
<div id="canvas"></div>
<div id="containerA">
<div id="one" ><img src="https://stepupandlive.files.wordpress.com/2014/09/3d-animated-frog-image.jpg" id="image" onclick="change(this);"/></div> // passed this to the parameter


function change(obj){
document.getElementById("canvas").style.backgroundImage = obj.src; // here
};