Программно изменить src тега img
Как изменить атрибут src
тега img
с помощью javascript?
<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";
}
Ответы
Ответ 1
теперь его ok
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";
}
Ответ 2
Дайте вашему тегу img идентификатор, затем вы можете
document.getElementById("imageid").src="../template/save.png";
Ответ 3
если вы используете библиотеку JQuery, используйте эту инструкцию:
$("#imageID").attr('src', 'srcImage.jpg');
Ответ 4
Вы можете использовать оба метода 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 является простым в использовании.
Ответ 5
<img src="../template/edit.png" name="edit-save" onclick="this.src = '../template/save.png'" />
Ответ 6
С предоставленным фрагментом (и без предположений о родителях элемента) вы можете получить ссылку на изображение с помощью
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
(так как это самый быстрый метод для извлечения элемента)
Ответ 7
В этом случае, поскольку вы хотите изменить 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>
Ответ 8
Дайте вашему изображению идентификатор. Затем вы можете сделать это в своем javascript.
document.getElementById("blaah").src="blaah";
Вы можете использовать метод ".___" для изменения значения любого атрибута любого элемента.
Ответ 9
Возможно, потому, что у вас есть тег, похожий на родителя тега.
Вот почему вы должны щелкнуть два раза изображения.
Для меня решение таково:
http://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_lightbulb