Piszemy następne funkcje utils, poznając lepiej drzewo DOM oraz JavaScript. Do dzieła!
Sprawdzamy, czy element jest odnośnikiem:
function isAnchor(el){
return el instanceof HTMLAnchorElement;
}
Teraz czy jest odnośnikiem do numeru telefonu:
function isTelAnchor(el){
return el.matches('a[href^="tel:"]');
}
Sprawdzamy, czy element jest linkiem image-mapy:
function isImageMapLink(el){
return el.matches("map > area[href]");
}
Sprawdzamy, czy dokument ma linki image-mapowe:
function hasImageMapLinks(){
let anchors = document.querySelectorAll("a").length;
let links = document.links.length;
return (links - anchors) !== 0;
}
Sprawdzamy, czy element jest linkiem, który otworzy się w nowej karcie:
function isNewTabAnchor(el){
return el.matches('a[target="_blank"]') || el.matches('a[target="blank"]');
}
Sprawdzamy, czy element jest linkiem do scrollowania do istniejącego elementu na stronie:
function isScrollableAnchor(el){
return el.matches('a[href^="#"]') && (document.querySelector(el.getAttribute("href")) !== null);
}