Вот пример кода (vanilla javascript), как бы вы прикрепляли прослушиватель событий ко всем навигационным ссылкам, вызывающим действие при нажатии:
/* Reload view content when changing tabs/nav-links */
var navLinks = document.getElementsByClassName("nav-link");
for (var i = 0; i < navLinks.length; i++) {
navLinks[i].addEventListener("click", function(event){
.... Here is the reloding stuff for the selected view
Simple way: insert html from predefined files like contentTabX.html (x = 1.. n)
or load the dynamic generated content from the server/DB
}, false);
}
Конечно, вы можете использовать такие платформы, как bootstrap4 или аналогичные, которые обеспечить некоторую функциональность, но цена - это много (часто проблематично c) накладных расходов.
Лучше всего изучить некоторые основы c javascript (ваниль) и использовать блоки кода из надежных источников, таких как stackoverflow