Поддержание ссылок с помощью jQuery

0

Я пытаюсь исправить код существующего сайта. Мы используем хэширование для привязки к идентификатору содержимого. Весь контент скрыт, щелкнув идентификатор, соответствующий маркеру nav в теге привязки, отобразится соответствующее содержимое с идентификатором.

Проблема, с которой я сталкиваюсь, заключается в том, что у одной части навигации есть подраздел, мне нужна одна ссылка для ссылки на PDF при сохранении содержимого страницы родителей. В настоящее время, однако, он будет поддерживать содержание страницы или ссылку на PDF. Любопытно, как все вы могли бы решить эту ситуацию.

Вы можете видеть страницу вживую

Вот раздел, о котором я говорю:

HTML

<li><a href="#floor-plan">Floor Plans</a>
   <ul class="sub-nav">
     <li><a href="#floor-plan">3D Map</a></li>
     <li><a href="../link/to/pdf">Detailed Floorplan</a></li>
   </ul>
</li> 

JS

$(".main--nav").each(function(){
    $('.main--nav li a').on('click', function(){
     // e.preventDefault();
     var $id = $(this).attr('href');
     $('.exhib-content').hide();
     $($id).show();
    });
});

ПРИМЕЧАНИЕ. Я прокомментировал 'preventDefault(); для тестирования, так как это не позволило бы ссылке фактически выпустить в PDF файл или что-то в этом отношении.

Теги:

1 ответ

1
Лучший ответ

Целевой только href, начинающийся с # с использованием атрибута, начинается с селектора, также где нет необходимости в каждом цикле

$('.main--nav li a[href^="#"]').on('click', function () {
    e.preventDefault();
    var $id = $(this).attr('href');
    $('.exhib-content').hide();
    $($id).show();
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню