с помощью jquery Как изменить параметры http атрибута src изображения после того, как изображение будет возвращено в браузере

Я получаю тег изображения, который выглядит так

http://sits-pod18.demandware.net/dw/image/v2/aaen_s31/on/demandware.static/Sites-kerastase-Site/Sites-kerastase-master-catalog/default/v1349421867355/large/Styling/Construct/ Mousse_Bouffant_1000x1000.png?sw=226&sh=226', sizingMethod='scale'); граница:нет;" ;="">

Если я упрощу это, то строки http для тегов изображений будут выглядеть так

http://sits-pod18.demandware.net/dw/image/v2/aaen_s31/on/demandware.static/Sites-kerastase-Site/Sites-kerastase-master-catalog/default/v1349421867355/large/Styling/Construct/Forme_Fatale_1000x1000.png?sw=350&sh=350

http://sits-pod18.demandware.net/dw/image/v2/aaen_s31/on/demandware.static/Sites-kerastase-Site/Sites-kerastase-master-catalog/default/v1349421867355/large/Styling/Construct/Mousse_Bouffant_1000x1000.png?sw=226&sh=226

Скажем, 10-15 таких тегов заключены в div с class="foo"

Я пытаюсь изменить sw=226&sh=226 на sw=350&sh=350 с помощью jquery.

Как мне подойти к этому? К сожалению, я не могу изменить способ отображения изображения на странице. Если бы я мог это сделать, я бы подошел к изменению атрибута высоты и ширины тега изображения.

Дайте мне знать, если это звучит запутанно, тогда я могу попытаться подготовить скрипку, чтобы объяснить это. Сложность в том, что он должен работать в jquery 1.3.2.. что совершенно безумно

заранее спасибо


person soum    schedule 23.07.2013    source источник


Ответы (2)


Пытаться

$('.foo').each(function() {
    this.src = this.src.replace(/=226/g, '=350');
});
person BadgerPriest    schedule 23.07.2013
comment
Привет, Барсук... Я тоже попробовал твое решение. Не удалось заставить это работать. Я собрал скрипт с решением TJ здесь jsfiddle.net/sghoush1/djWbd/2 - person soum; 23.07.2013
comment
@badger - я вижу, что ты сделал. Хороший. Но, к сожалению, мне нужно заставить его работать на jquery 1.3.2 :-(... довольно грустно, но я хотел бы просто изменить версию - person soum; 23.07.2013
comment
@soum, этот код должен работать так же в jQuery 1.3.2. .each() существует со времен jQuery 1.0. Какая часть этого не работает для вас? - person BadgerPriest; 23.07.2013
comment
Это было полностью моим недостатком. Я забыл добавить готовый документ после удаления 1.9.1.. это сработало! еще раз спасибо - person soum; 23.07.2013

Это простая замена строки:

img.src = img.src.replace("sw=226&sh=226", "sw=350&sh=350");

...где img - это HTMLImageElement, о котором идет речь.

Чтобы сделать кучу из них с jQuery, вы должны использовать each:

$("selector for the images in question").each(function() {
    this.src = this.src.replace("sw=226&sh=226", "sw=350&sh=350");
});
person T.J. Crowder    schedule 23.07.2013
comment
Я попробовал ваше решение. Я думаю, что я что-то упускаю здесь. Вот моя скрипка jsfiddle.net/sghoush1/djWbd/2 - person soum; 23.07.2013
comment
@soum: Да, в вашей скрипке отсутствовал jQuery: jsfiddle.net/djWbd/5 (здесь я Я использую 1.10, но любая версия jQuery подходит для кода выше). Кроме этого, все было в порядке. - person T.J. Crowder; 23.07.2013
comment
Да.. только что понял. Я думаю, что мне пора спать, и я не думаю о уличном свете. Еще раз спасибо за решение - person soum; 23.07.2013