jquery: если URL содержит #work, то сделайте что-нибудь

#jquery #url #contain

#jquery #url #содержать

Вопрос:

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

Мой код выглядит следующим образом:

 $(function(){
    var url = window.location.pathname;
    $("url:contains('#Work')").animate({"left": "250"}, "slow");
});
  

Но это не работает. Есть предложения? Любая помощь приветствуется.

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

1. Вы не должны использовать URL для начала

Ответ №1:

 $(function() {
    if ( document.location.href.indexOf('#Work') > -1 ) {
        $('#elementID').animate({"left": "250"}, "slow");
    }
});
  

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

1. Примечание для прохожих: поиск по строке вернет результат, 0 если он найден в начале и -1 если не найден. В этом случае это работает, потому что фрагмент никогда не будет находиться в начале URL, но обычно вы должны искать строки с помощью > -1 или >= 0 .

Ответ №2:

окно.Расположение.href преобразует URL в переменную, поэтому вы не можете искать #Work, используя этот метод. Попробуйте:

 var url = window.location.href;

if (url.search("#Work") >= 0) {
    //found it, now do something
} 
  

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

1. Примечание для прохожих: поиск по строке вернет результат, 0 если он найден в начале и -1 если не найден. В этом случае это работает, потому что фрагмент никогда не будет находиться в начале URL, но обычно вы должны искать строки с помощью > -1 или >= 0 .