hallo
Nicht die beste Idee.
getAttribute("href")
liefert genau die Form, die imhref
-Attribut angegeben wurde. Besser verwendet man diehref
-Eigenschaft, die den vollständigen URL liefert – egal ob der Link relativ oder absolut angegeben wurde. Wenn wir aktuell auf https://example.net sind:| HTML |
.getAttribute("href")
|.href
|---| |<a href="foo">
| "foo" | "https://example.net/foo" |<a href="/foo">
| "/foo" | "https://example.net/foo" |<a href="//example.net/foo">
| "//example.net/foo" | "https://example.net/foo" |<a href="https://example.net/foo">
| "https://example.net/foo" | "https://example.net/foo"Die Funktion könnte also so aussehen:
function setAriaCurrentPage(currentURL) { for (let i = 0, i < document.links.length; i++) { if (document.links[i].href === currentURL) { document.links[i].setAttribute("aria-current", "page"); document.links[i].setAttribute("tabindex", "0"); document.links[i].removeAttribute("href"); } } }
Und wie geht das mit Link-Fragmenten um?