Задать вопрос

Как добавить класс всем внутренним ссылкам на странице?

Добрый день!

Разрабатываю шаблон. Для добавления анимации при переходе на другую страницу нужно всем внутренним ссылкам сайта добавить класс, чтобы при клике на такие ссылки запускалась анимация. Адрес сайта не известен - шаблон повторного применения. Реализовал следующим образом:

var css = 'a[href*="' + window.location.host + '"]';
var links = document.querySelectorAll( css );

for ( var i = 0; i < links.length; i++ ) {
    links[i].classList.add( 'link--js' );
}


Проблема в том, что в данном случае выбираются вообще все внутренние ссылки для сайта, и нужно исключить из них ссылки с хешем и прочими примесями, чтобы не добавлять класс в случаях, когда при клике по ссылке не осуществляется переход на другую страницу или перезагрузка открытой страницы. Подскажите, пожалуйста, каким образом нужно изменить код, чтобы выбрать только нужные ссылки?
  • Вопрос задан
  • 85 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@venanen
document.querySelectorAll('a').forEach((current, index)=>{
     if(window.location.href.split('#')[0] !== current.href)
     current.classList.add( 'link--js' );
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 дек. 2024, в 09:41
5000 руб./за проект
23 дек. 2024, в 09:39
1000000 руб./за проект