Я хочу изменить суффикс изображения для всего изображения, имеющего класс "большой палец". Они могут быть в jpg, png или gif
<img class="thumb" src="http://someting.com/images/abc-150X150.jpg"/>
Хотите удалить -150X150
<img class="thumb" src="http://someting.com/images/abc.jpg"/>
Я узнал этот код, но он удаляет расширения и использует вместо него класс img. Спасибо, что посмотрел мой вопрос.
Один из возможных подходов:
$('img.thumb').each(function() {
this.src = this.src.replace('-150X150', '');
});
Это использует регулярное выражение для замены и шаблона, которое соответствует дефису, затем цифра, а затем X и другая цифра
$('.thumb').attr('src', function (index, src) {
return src.replace(/-\d+x\d+/, '');
});
Стоит отметить, что это просто простое регулярное выражение. Если вы хотите усложниться, вы можете указать минимальное число целых чисел с одной стороны x, чтобы уменьшить совпадение с неправильной вещью, например:
/ -\d{3,}x\d{3,}/
Вышеуказанное будет соответствовать 3 или более цифрам с каждой стороны x
attr()
, а не вызывать его дважды: attr('src', function(index, oldSRC){ return oldSRC.replace(/* regex */,''); });
(или вместо этого использовать prop()
, но это личное предпочтение).