2014-09-24 2 views
0

На сайте есть список URL-адресов, и мне нужно переключать точки в каждом из них, после домашнего URL-адреса.Изменить часть каждого URL

<div class="collection-name"> 
     <a href="http://shop.something.net/collections/100-grams/a.s.a.p." title="100 Grams">/collections/madelinetosh/a-s.a.p.</a> 
    </div> 
<div class="collection-name">\ 
     <a href="http://shop.something.net/collections/2-stitches/a.s.a.p." title="2 Stitches"><i class="check-icon"></i> 2 Stitches</a> 
    </div> 

В этом примере мне нужны точки переключения в a.s.a.p. чтобы можно скорее

Я очень новой для JQ так, вот это позор моего кода, который не работает

$("div.collection-name a").each(function(){ 
    console.log($("div.collection-name a").get(0)) 
$("div.collection-name a").each.href($("div.collection-name a").get(0).pathname.replace('.', '-')); 
}); 

ответ

1

Я не проверял очень подробно всю вашу логику, но принять во внимание, что default replace сделать это только для первого появления символа. Если вы хотите заменить все, что вам нужно использовать регулярные выражения, как этот один

pathname.replace(/\./g, '-'); 

EDIT

Принимая лучший взгляд на ваш код, это то, что вам нужно заменить точку на " -»

$("div.collection-name a").each(function(){ 
    var hrefArray = $(this).prop('href').split('/'); 
    for(var i = 3; i < hrefArray.length; i++) { 
     hrefArray[i] = hrefArray[i].replace(/\./g, '-'); 
    } 

    $(this).prop('href', hrefArray.join('/')); 
}); 

DEMO

+0

регулярное выражение' '/./ соответствует каждому символу. –

+0

Да ... это была одна из проблем. ничего не меняет, но – user3638287

+0

@ user3638287: отредактирован с рабочим образцом –

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