2015-02-19 2 views
1

У меня есть структура, как это:JQuery добавления путь в фоновом режиме URL

<div class="size" style="background: url(image1.jpg) no-repeat;"> 

Таким образом, в каждом делении с нравится, описанная выше, я хотел бы добавить «480 /» перед именем изображения и как это:

<div class="size" style="background: url(480/image1.jpg) no-repeat;"> 

Любая идея JQuery или javascript?

+0

почему вы не можете изменить исходный источник –

ответ

1

Если вы не можете изменить источник, попробуйте

$('div.size[style]').css('background-image', function (i, background) { 
    return background.replace(/(.*)\/(.*)/, '$1/480/$2') 
}) 

Демо: Fiddle

+0

Спасибо Арун. Пожалуйста, 2 вопроса: 1) Можете ли вы мне сказать, что такое аргумент «i» в функции? 2) Для первого div это работает, но для следующих есть 2 раза 480/например: url (480/480/image1.jpg) Большое спасибо за вашу поддержку. – eric

+0

@eric да, что это такое –

+0

Это была моя ошибка для второго вопроса. – eric

0

Попробуйте это:

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> 
<div class="size" style="background: url(image1.jpg) no-repeat;"> 
<div class="size" style="background: url(image2.jpg) no-repeat;"> 
<div class="size" style="background: url(image3.jpg) no-repeat;"> 

<script> 
$(document).ready(function() { 
    $('.size').each(function() { 
     var oldUrl = $(this).css("background-image");  
     oldUrl = oldUrl.split("/"); 
     var last_url = oldUrl.pop(); 
     var first_url = oldUrl.join('/') 
     last_url = "/480/"+last_url;    
     var newUrl = first_url+last_url;  
     $(this).css("background", newUrl); 
    }); 
}) 

</script> 

Демо: http://jsfiddle.net/39bbwg88/5/

+0

Добро пожаловать! :) –

Смежные вопросы