jQuery заменяет при изменении URL-адреса

#jquery

#jquery

Вопрос:

У меня есть <a> для «входа в систему» как <a href="#" id="login">Log in</a> .

Я хотел бы заменить тело <a> только тогда, когда URL-адрес находится на определенной странице. Как вы могли бы сделать это с помощью jQuery?

Уточнение: когда я нахожусь на своем /login URL, я хочу изменить <a> с:

<a href="/login">Log in</a>

Для

<a href="/signup">Sign up</a>

У меня есть следующий jQuery, но я не знаю, как применить его к конкретной ссылке, когда пользователь находится на определенной странице.

 $('a#login').html('<a href="/">Sign up</a>');
  

Комментарии:

1. Стоит упомянуть, что если у вас есть какой-либо контроль над кодом на стороне сервера , вы должны внести это изменение там. Тогда вам не нужно будет исправлять это постфактум в клиентском браузере.

2. Отличный момент. Тогда я разберусь с этим на стороне сервера!

Ответ №1:

 $(function() {
    var certainURL = "the url you want";
    if (window.location === certainURL) {
        $("a#login").attr('href', certainURL);
    }
});
  

Ответ №2:

url-адрес сайта: /login

 <a href="#" id="login">Log in</a>
  

если вы хотите заменить его, сделайте так

 $(function(){
    var url = document.location.href;
    var site = url.split('/');

    if( site[site.length-1] === 'login')
        $('a#login').replaceWith('<a href="/signup">Sign up</a>');
});
  

но если вы просто хотите заменить ‘text’ и ‘href’, сделайте так

 $(function(){
    var url = document.location.href;
    var site = url.split('/');

    if( site[site.length-1] === 'login')
        $('a#login').text('Sign up').attr('href','/signup');
});
  

надеюсь, поможет: D

Ответ №3:

Вы можете сделать так,

 <a id="login" href="#">Log in</a>.
  

Jquery,

  var currentUrl=window.location;
    if(currentUrl=="url"){
       $('a#login').attr('href','new url')
    }
  

Комментарии:

1. Спасибо! Я немного отредактировал свой вопрос, если вы не возражаете взглянуть еще раз.