Разделение и объединение должны работать как положено, вам просто нужно установить это обратно в атрибут src img:
$('.btn').hover(function() {
var src = $(this).attr("src");
src = src.split('.jpg').join('-over.jpg');
$(this).attr("src", src);
});
Кроме того, если вы хотите, чтобы оно работало с любым расширением, вы можете использовать регулярное выражение, например:
$('.btn').hover(function() {
var src = $(this).attr("src");
src = src.replace(/(.*)\.(png|gif|jpg|jpeg)$/, "$1-over.$2");
$(this).attr("src", src);
});
Регулярное выражение соответствует всему, что заканчивается точкой, за которой следует один из png, gif, jpg, or jpeg
, и заменяет его первой частью (путь + имя файла), строкой «-over», точкой и исходным расширением.
Вы можете заменить его обратно в исходное состояние, удалив -over из источника:
$('.btn').hover(function() {
var src = $(this).attr("src");
src = src.replace(/(.*)\.(png|gif|jpg|jpeg)$/, "$1-over.$2");
$(this).attr("src", src);
}, function() {
var src = $(this).attr("src");
src = src.replace(/(.*)-over\.(png|gif|jpg|jpeg)$/, "$1.$2");
$(this).attr("src", src);
});
Событие jQuery().hover
принимает две функции: первая вызывается при запуске наведения, вторая вызывается при выходе из наведения.