使用javascript更改图像

使用javascript更改图像,javascript,image,onclick,src,Javascript,Image,Onclick,Src,我是javascript的新手。我想知道我做错了什么。我想在函数onclick上进行图像src交换。在第一次点击我的图片后,它会变为“关闭”,但每次都会被关闭。以防万一,我不需要其他解决方案。我只是想知道我的剧本出了什么问题。谢谢 函数menuOpenClose() { var a=document.getElementById(“移动菜单图标”) if(a.src==“icon/menu.svg”){ a、 src=“icon/close.svg”; }否则{ a、 src=“icon/me

我是javascript的新手。我想知道我做错了什么。我想在函数onclick上进行图像src交换。在第一次点击我的图片后,它会变为“关闭”,但每次都会被关闭。以防万一,我不需要其他解决方案。我只是想知道我的剧本出了什么问题。谢谢

函数menuOpenClose()
{
var a=document.getElementById(“移动菜单图标”)
if(a.src==“icon/menu.svg”){
a、 src=“icon/close.svg”;
}否则{
a、 src=“icon/menu.svg”;
}
}
img{
显示:块;
宽度:32px;
高度:32px;
}

您在
if语句中使用赋值运算符,而不是比较运算符

更改此项:

if (a.src = "icon/menu.svg")
为此:

if (a.src === "icon/menu.svg")

检查并运行以下代码片段,了解上述方法的实际示例:

/*CSS*/
img{显示:块;宽度:32px;高度:32px;}

函数menuOpenClose(){
var a=document.getElementById(“移动菜单图标”)
如果(a.src==”https://picsum.photos/50/50?image=0") {
a、 src=”https://picsum.photos/50/50?image=1";
}否则{
a、 src=”https://picsum.photos/50/50?image=0";
}
}

您在if语句中的条件应如下所示

   if (a.src === "icon/menu.svg") {

首先,将其更改为另一个:

a.src==“icon/menu.svg”
这是否正确

第二,正如你所看到的,你永远不会改变你的形象,因为你的身体状况无法捕捉到它

这是来自控制台的答案:

@>src https://stacksnippets.net/icon/menu.svg
你总是做
else

函数menuOpenClose(){
var a=document.getElementById(“移动菜单图标”)
console.log(`@>src`,a.src)
if(a.src==“icon/menu.svg”){
a、 src=“icon/close.svg”;
}否则{
a、 src=“icon/menu.svg”;
}
}

您可以通过两种方式(或两种方式)完成:

或:

片段:

函数menuOpenClose()
{
var a=document.getElementById(“移动菜单图标”)
//if(a.getAttribute('src').indexOf(“icon/menu.svg”)!=-1){
if(a.getAttribute('src')=“icon/menu.svg”){
a、 src=“icon/close.svg”;
}否则{
a、 src=“icon/menu.svg”;
}
console.log(a.src);
}


如果我更改了它,我的图像甚至在第一次单击时都没有更改。@ownidea请检查我在答案中添加的演示代码片段,使用的是正确的运算符
==
。在If语句中,您不是在比较,而是在赋值。使用双等号或三等号将变量与字符串进行比较。我已删除了syn税务错误在这里起到了转移注意力的作用。新的答案应该通过
a.src
解决这个问题。
if (a.src.indexOf("icon/menu.svg") != -1) {
if (a.getAttribute('src') == "icon/menu.svg") {