Я был бы склонен утверждать, что вы должны разрешить ссылку оставаться активной, даже если на выбранной странице. Это значит, что вы можете разрешить пользователю явно обновлять свое представление о данных, которые вы показываете, когда захотят. Ссылка должна быть выделена, чтобы указать, что это текущая выбранная страница.
В противном случае, если вы не хотите, чтобы ваш пользователь обновлял страницу, вы должны полностью удалить ссылку (или <li />
или что-то еще), чтобы в контексте приложения понятие обновления страницы не существовало, вместо этого для указания текущей выбранной страницы отключенной ссылкой используйте явный заголовок.
Для достижения этого результата, можно использовать следующее:
$("#menu").find('*[href]').each(function(index) {
if ($(this).attr("href") == window.location.pathname) {
$(this).parents("li").html("");
}
});
Если вам нужно сохранить элемент видимым, просто удалите HREF:
$("#menu").find('*[href]').each(function(index) {
if ($(this).attr("href") == window.location.pathname) {
$(this).removeAttr("href");
}
});
, но я бы также изменить стиль, поэтому он не просто выглядит как сломанная ссылка или что-то в этом роде.
Спасибо за рекомендации очень полезной главы из книги! – rem