Примечание редактора: подход, приведенный ниже, имеет серьезные последствия для безопасности и, в зависимости от используемой версии jQuery, может подвергать ваших пользователей атакам XSS. Для получения более подробной информации см. Обсуждение возможной атаки в комментариях к этому ответу или это объяснение в Exchange Stack Exchange .
Вы можете использовать свойство location.hash
, чтобы получить хеш текущей страницы:
var hash = window.location.hash;
$('ul'+hash+':first').show();
Обратите внимание, что это свойство уже содержит символ #
в начале.
На самом деле вам не нужен псевдоселектор :first
, так как вы используете селектор ID , предполагается, что идентификаторы уникальны в DOM.
Если вы хотите получить хеш из строки URL, вы можете использовать метод String.substring
:
var url = "http://example.com/file.htm#foo";
var hash = url.substring(url.indexOf('#')); // '#foo'
Совет: Имейте в виду, что пользователь может изменить хэш по своему усмотрению, вводя что-либо в ваш селектор, вы должны проверить хэш перед его использованием.