Tricky JQuery обновить изображение href вопрос - PullRequest
1 голос
/ 06 июля 2011

Хорошо, так что я не знаю, можно ли это сделать, но с огромным умом, который у нас есть здесь на стеке, я уверен, что кто-то может указать мне правильное направление.

Поэтому я хочу динамически обновить тег href для изображения, чтобы, когда пользователь выбирает другой вариант продукта (скажем, другой запах), ссылка на изображение приведет пользователя к большему файлу изображения этого запаха.

Вот код на данный момент:

$("#main-image").attr("href", $('.more-views ul li a img[alt="' + $select.find('option:selected')[0].getAttribute('product_id') + '"]').attr('src'));

Так что это легкая часть. Теперь сложная часть заключается в том, чтобы сократить тот URL, который получает код.

В настоящее время он получает только уменьшенную версию изображения для заполнения расширенного представления. Мне нужно, чтобы получить увеличенное изображение.

Это ссылка для увеличения изображения: http://staging.greencupboards.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/feeds/MrsMeyers/MRM-64565-a.jpg

А вот ссылка для уменьшенного изображения: http://staging.greencupboards.com/media/catalog/product/cache/1/image/370x/9df78eab33525d08d6e5fb8d27136e95/feeds/MrsMeyers/MRM-64565-a.jpg

обратите внимание, что у меньшего изображения есть 370x в пути. Есть ли способ, которым я могу рассматривать это как строку и отфильтровать это ??! Имейте в виду, что мне нужно использовать код .attr сверху.

Пусть javascript гениев к нему!

Заранее спасибо!

1 Ответ

2 голосов
/ 06 июля 2011

Просто добавьте .replace(/370x\//,'') к .attr('src')

$("#main-image").attr("href",
                  $('.more-views ul li a img[alt="'
                         + $select.find('option:selected')[0].getAttribute('product_id')
                         + '"]')
                    .attr('src')
                    .replace(/370x\//,'') );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...