Отключить ссылку на текущую страницу в навигации - PullRequest
4 голосов
/ 09 сентября 2010

У меня довольно стандартная навигация для сайта. Основная навигация - это ul, с несколькими вложенными ul. Я просто хочу динамически отключить ссылку, когда пользователь уже находится на этой странице.

Так что, если я на главной странице, ссылка на домашнюю страницу должна быть отключена. Если я нахожусь на странице контактов, ссылка на страницу контактов должна быть отключена.

Я не хочу полностью удалять ссылку, просто удалите href из якоря или просто отключите сам якорь. Есть ли быстрое, изящное и элегантное решение для этого в XHTML, CSS, JavaScript или php. Я также хотел бы, чтобы решение было дружественным по всем направлениям, а не только для современных браузеров (вы можете прочитать, IE 6).

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

1 Ответ

3 голосов
/ 09 сентября 2010

Я думаю, что было бы лучше сделать это в коде генерации страницы (например, PHP), перебирая каждую ссылку и удаляя тег <a>, заменяя его на <span> или что-то подобное, если ссылка соответствует критериямдля соответствия текущей странице.PHP предоставляет вам эту текущую страницу (в различных вариантах: $_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_FILENAME'], $_SERVER['PHP_SELF'], $_SERVER['QUERY_STRING'] и т. Д.) В своей базе, и, используя ее, вы можете определить алгоритм, соответствующий вашей странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...