Извините за неопределенное название, но я не совсем уверен, как это описать.
Я хочу сделать onclick, изменить изображение. Вот эта часть кода.
Может ли кто-нибудь сказать мне, возможно ли это? Я не вижу способа сделать это, потому что я не уверен, как ссылаться на тег привязки.
$(document.createElement('a'))
.attr('href', '#')
.html('<img src="myimage.jpg" />')
.click( function( e ){
// When the user clicks the anchor tag above, I want to replace the current
// image (myimage.jpg) with another one.
}
Предполагая, что вы хотите сохранить состояние кода, в котором оно написано (что ужасно), e.currentTarget
является ссылкой на элемент, который нажата. Вы можете использовать это, чтобы повторить вашу (обескураженную .html()
процедуру .html()
с другим URL-адресом изображения.
$(document.createElement('a'))
.attr('href', '#')
.html('<img src="myimage.jpg" />')
.click( function( e ){
$(e.currentTarget).html('<img src="myimage2.jpg" />');
});
//create node
$('<a>', {
'href': '#',
'src': 'myimage.jpg'
})
//add it to the body
.appendTo('body')
//add envent
.on('click', function(){
$(this).attr('src', 'otherimage.jpg');
//prevent to jump to the top of the page caused by the '#'
return false;
});
Используйте этот простой
$('img').click(function () {
$(this).attr('src', 'src/to/new/file.png');
}
Если вы хотите изменить изображение, когда щелчок находится над a
. Затем используйте
$('a').click( function () {
вместо изображения один.
Это изменит атрибут src текущего изображения.
Вот для этого скрипка:
http://jsfiddle.net/afzaal_ahmad_zeeshan/8H4MC/
Когда вы наводите курсор мыши на изображение, вы увидите, что он изменится. Вы можете использовать click
вместо hover
. Это должно сработать. И не создавайте a
если вам нужно отключить его, используя href="#"
.
Если вы хотите, чтобы курсор указателя использовал cursor: pointer
в CSS или использовать
$(this).css('cursor', 'pointer');
$(document.createElement('a'))
.attr('href', '#')
.html('<img src="myimage.jpg" />')
.click( function( e ){
$(this).find('img').attr('src','myNewImage.jpg');
});
}
Самый простой способ - просто дать образ классу, например, "myImg", и использовать метод .on()
для привязки к динамически созданным элементам
$(document).on('click', '.myImg', function(){
//$(this) refers to the image that we clicked
$(this).prop('src', 'http://my-domain.com/path/to/my/new-image.jpg');
});
Это связывает событие с документом, и в любое время, когда щелкнут изображение с классом "myImg", оно заменит изображение.