Программное изменение src тега img
как я могу изменить на img
тег с помощью javascript?
<img src="../template/edit.png" name=edit-save/>
сначала у меня есть src по умолчанию, который является "../ шаблон / правка.png " и я хотел изменить его с "../шаблон/сохранить.png " onclick.
обновление: вот мой html onclick:
<a href='#' onclick='edit()'><img src="../template/edit.png" id="edit-save"/></a>
и это
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";
}
9 ответов:
дайте вашему тегу img идентификатор, тогда вы можете
document.getElementById("imageid").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"
для этого типа вопроса jquery является простым в использовании.
Если вы используете библиотеку 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"; }
в этом случае, как вы хотите изменить
src
из первого значения вашего элемента вам не нужно создавать функцию. Вы можете изменить это прямо в элементе:<a href='#' onclick='this.firstChild.src="../template/save.png"')'> <img src="../template/edit.png" id="edit-save"/> </a>
у вас есть несколько способов сделать это. Вы также можете создать функцию для автоматизации процесса:
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>
с фрагментом, который вы предоставили (и без предположений о родителях элемента), вы можете получить ссылку на изображение с
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 };
в противном случае, как и другие предположили, если вы контролируете код, лучше назначить
id
к изображению a получить ссылку сgetElementById
(так как это самый быстрый метод для получения элемент)
дайте вашему изображению идентификатор. Тогда вы можете сделать это в JavaScript.
document.getElementById("blaah").src="blaah";
вы можете использовать ".___ "метод изменения значения любого атрибута любого элемента.
может быть, потому что у вас есть тег, как родитель тега. Вот почему вы должны нажать два раза изображения.
для меня решение это: http://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_lightbulb