以编程方式更改img标签的src

我怎样才能改变使用JavaScript的img标签的src属性?

 <img src="../template/edit.png" name=edit-save/> 

首先我有一个默认的src,它是“../template/edit.png”,我想用“../template/save.png”onclick来改变它。

更新:这是我的HTML onclick:

 <a href='#' onclick='edit()'><img src="../template/edit.png" id="edit-save"/></a> 

和我的JS

 function edit() { var inputs = document.myform; for(var i = 0; i < inputs.length; i++) { inputs[i].disabled = false; } } 

我已经试过在edit()中插入这个,它工作,但需要点击图像两次

 var edit_save = document.getElementById("edit-save"); edit_save.onclick = function(){ this.src = "../template/save.png"; } 

给你的IMG标签一个ID,那么你可以

 document.getElementById("imageid").src="../template/save.png"; 

如果您使用JQuery库,请使用以下指令:

 $("#imageID").attr('src', 'srcImage.jpg'); 

现在好了

 function edit() { var inputs = document.myform; for(var i = 0; i < inputs.length; i++) { inputs[i].disabled = false; } var edit_save = document.getElementById("edit-save"); edit_save.src = "../template/save.png"; } 

您可以同时使用jquery和javascript方法:如果您有两个图像,例如:

 <img class="image1" src="image1.jpg" alt="image"> <img class="image2" src="image2.jpg" alt="image"> 

1)jquery方法 – >

 $(".image2").attr("src","image1.jpg"); 

2)Javascript方法 – >

 var image = document.getElementsByClassName("image2"); image.src = "image1.jpg" 

对于这种types的问题jQuery是一个简单的使用。

 <img src="../template/edit.png" name="edit-save" onclick="this.src = '../template/save.png'" /> 

随着你提供的片段(并没有做出元素的父母的假设),你可以得到一个与图像的参考

 document.querySelector('img[name="edit-save"]'); 

并改变与src

 document.querySelector('img[name="edit-save"]').src = "..." 

所以你可以达到预期的效果

 var img = document.querySelector('img[name="edit-save"]'); img.onclick = function() { this.src = "..." // this is the reference to the image itself }; 

否则,正如其他build议,如果你在控制代码,最好为图像分配一个id getElementById (因为它是检索元素的最快方法)的引用,

在这种情况下,如果要更改元素的第一个值的src ,则不需要构build函数。 您可以在元素中更改此权限:

 <a href='#' onclick='this.firstChild.src="../template/save.png"')'> <img src="../template/edit.png" id="edit-save"/> </a> 

你有几种方法来做到这一点。 您也可以创build一个自动化过程的函数:

 function changeSrc(p, t) { /* where p: Parent, t: ToSource */ p.firstChild.src = t } 

那么你可以:

 <a href='#' onclick='changeSrc(this, "../template/save.png");'> <img src="../template/edit.png" id="edit-save"/> </a> 

给你的图像一个ID。 然后你可以在你的JavaScript中做到这一点。

 document.getElementById("blaah").src="blaah"; 

您可以使用“.___”方法来更改任何元素的任何属性的值。

也许是因为你有一个像标签父母一样的标签。 那为什么你必须点击两次图像。

对我来说,解决scheme是这样的: http : //www.w3schools.com/js/tryit.asp?filename=tryjs_intro_lightbulb