Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   подмена src картинки (https://javascript.ru/forum/misc/43496-podmena-src-kartinki.html)

Миша-1993 08.12.2013 00:41

подмена src картинки
 
var src = $(this).attr("src"); //получаю src картинки

переменной присваивается следующе :
"http://localhost/Shop/components/com_jshopping/files/img_products/7007.jpg"

Мне необходимо как то добавить "full_" перед именем картинки, чтобы получилось:
"путь/full_7007.jpg"
И после подменить src на переделанный.
Как?

danik.js 08.12.2013 00:49

Цитата:

Сообщение от Миша-1993
var src = $(this).attr("src"); //получаю src картинки

Шо за изврат? Это пишется так: var src = this.src


var src = "http://localhost/Shop/components/com_jshopping/files/img_products/7007.jpg";
var path = src.slice(0, src.lastIndexOf('/') + 1);
var file = src.slice(path.length);

alert("full_" + file);

рони 08.12.2013 11:02

Миша-1993,
var src = "http://localhost/Shop/components/com_jshopping/files/img_products/7007.jpg";
 src = src.replace(/([^/]+)$/,"full_$1")
 alert(src);

Миша-1993 08.12.2013 13:42

Цитата:

Сообщение от danik.js (Сообщение 285267)
Шо за изврат? Это пишется так: var src = this.src


var src = "http://localhost/Shop/components/com_jshopping/files/img_products/7007.jpg";
var path = src.slice(0, src.lastIndexOf('/') + 1);
var file = src.slice(path.length);

alert("full_" + file);

Обьясните, что какая строка делает, не могу разобраться :)

danik.js 08.12.2013 19:28

src.lastIndexOf('/') - индекс последнего символа "/"
src.slice - аналог src.substring

Слегка другой вариант:

var src = "http://localhost/Shop/components/com_jshopping/files/img_products/7007.jpg";

var file = src.slice(src.lastIndexOf('/') + 1);
var path = src.slice(0, -file.length);
 
alert(path + "full_" + file);


Или так даже:

var src = "http://localhost/Shop/components/com_jshopping/files/img_products/7007.jpg";

var parts = src.split('/');
var file = parts.pop();
parts.push("full_" + file);
 
alert(parts.join("/"));

Ну тут о скорости конечно лучше промолчать.

Maxmaxmaximus4 08.12.2013 19:36

рони, у рони регулярная зависимость)


Часовой пояс GMT +3, время: 10:51.