Мне нужно регулярное выражение, которое будет работать правильно, текущее, которое у меня есть, ломается.
Цель
Обычный источник изображения:
Image.png
Используя jQuery при наведении курсора, я динамически нахожу источник изображения и заменяю его на ImageName-Dn.png
При наведении курсора он возвращает значение ImageName.png
Мое текущее решение:
$(document).ready(function(){
$(".myButton").hover(
function () {
var s = $(this).attr('src');
s = s.substring( 0, s.search(/(\.[a-z]+)$/) ) + '-Dn' + s.match(/(\.[a-z]+)$/)[0];
$(this).attr('src', s);
},
function () {
var o = $(this).attr('src');
o = o.replace(/-Dn\./, '.');
$(this).attr('src', o);
}
);
});
Однако по какой-то причине изображение в какой-то момент устанавливается на ImageName-Dn.png
, а затем ввинчивается и устанавливается на ImageName-Dn-Dn.png
, и так далее, и так далее. Любая помощь?