Función onclick para cambiar una imagen una vez que se hace clic, pero me da un error en Js que dice inesperado más, por favor, necesito ayuda. Soy un novato en programación.
function changeImage(){ let a=document.getElementById("changeimg").src if (a==="img/save.png") { return a = "img/saveblack.png" } } else{ return a= "img/save.png" } </div> <div class="wrapper_center"> <img src="img/profilepix.jpg"> </div> <div class="wrapper_bottom"> <div class="reaction_wrapper"> <a href=""><img src="img/heart.png"></a> <a href=""><img src="img/messagereaction.png"></a> <a href=""><img src="img/message.png"></a> <img src="img/save.png" id="changeimg" onclick="changeImage()"> </div>El corchete en la línea 7 debe moverse debajo de la declaración else . Tal como está actualmente, está cerrando la función y luego tiene una cláusula else no vinculada con un if .
Además, establecer a en element.src simplemente copiará el valor de element.src en la variable a , por lo que si cambia a en absoluto, no cambiará element.src en absoluto. Puede solucionar esto guardando a element como para que pueda modificar las propiedades, ya que los objetos (no las primitivas) se copian por referencia y no por valor.
function changeImage() { let a = document.getElementById("changeimg"); if (a.src === "img/save.png") { return a.src "img/saveblack.png" } else { return a.src = "img/save.png" } }Intente esto (le sugiero que use un buen editor de texto como vscode, webstorm, itellij o atom, se resaltarán todos los errores de sintaxis que tenga)
function changeImage(){ let element = document.getElementById("changeimg") element.src = element.src ==="img/save.png" ? "img/saveblack.png" : "img/save.png"; } <div class="wrapper_center"> <img src="img/profilepix.jpg"> </div> <div class="wrapper_bottom"> <div class="reaction_wrapper"> <a href=""> <img src="img/heart.png"> </a> <a href=""><img src="img/messagereaction.png"></a> <a href=""><img src="img/message.png"></a> <img src="img/save.png" id="changeimg" onclick="changeImage()"> </div> </div>