2015-11-05 3 views
0

В jQuery или JavaScript можно изменить/добавить текст ссылки привязки в зависимости от того, на какой странице находится пользователь.Изменить текст привязки в зависимости от страницы

Так что я хотел бы это:

<a href="#section-2">Section 2</a> 

Для перехода на следующий, если пользователь не находится на главной странице:

<a href="/homepage/#section-2">Section 2</a> 
+0

на «странице» вы имеете в виду «раздел» в одной и той же странице? – stackoverfloweth

+0

Не могли бы вы всегда использовать '/ homepage/# section-2'? Каким бы недостатком это было? – Anders

+0

Что вы пробовали и что не работает? Как вы хотите применить условие? Учитывая URL-адрес страницы? – Rayon

ответ

1

Вы можете изменить href с помощью function attr. Следующий код изменит href:

var anchor = $("a").attr("href"); 
$("a").attr("href", "homepage/" + anchor); 

И если вы хотите, условия в зависимости от якоря вашего URL, вы можете сделать что-то с этим:

var url = window.location.href; 
var idx = url.indexOf("#"); 
var hash = idx != -1 ? url.substring(idx+1) : ""; 

И потом:

if(hash === "#whatever"){ 
    var anchor = $("a").attr("href"); 
    $("a").attr("href", "homepage/" + anchor); 
} 

Если нет якоря, у вас будет hash = "", поэтому вы можете предположить, что hash === "" - это домашняя страница

+1

Селектор кажется неправильным! Где условия для принятия решения? – Rayon

+0

Да, ты прав. Я пропустил вопрос, но я думаю, что я исправлю свой ответ – piterio

0

Используйте base url:

<head> 
    <base href="http://www.yoursite.com/homepage/"> 
</head>