La proprietà document.links in Javascript

In Javascript la proprietà "links" è una proprietà dell'oggetto document che mi permette di accedere ai link presenti in un documento HTML.

document.links

E' particolarmente utile quando voglio modificare o analizzare i link della pagina in modi specifici.

Questa proprietà restituisce una collezione array-like, un oggetto simile ad un array che non è un array vero e proprio), contenente tutti i collegamenti ipertestuali presenti nella pagina.

Nota. Quando si lavora con `document.links`, è importante ricordarsi che ritorna un live HTMLCollection. Questo significa che se il DOM cambia (ad esempio, se un link viene aggiunto o rimosso), la collezione `document.links` rifletterà automaticamente questi cambiamenti. Questa è una caratteristica molto potente e utile ma può anche portare a risultati inaspettati. Occorre fare attenzione.

    Un esempio pratico

    Leggere i link in una pagina

    Questo codice legge tutti i link presenti nella pagina

    <html>
    <body>
    <p><a href="/javascript.htm">HTML Tutorial</a></p>
    <p><a href="/css.htm">CSS Tutorial</a></p>
    <script>
    const links = document.links;
    for (let i = 0; i < links.length; i++) {
       document.write(links[i].href);
       }
    </script>
    </body>
    </html>

    Questo codice cicla attraverso tutti i link della pagina e ne stampa gli URL nella console.

    Per semplicità nei prossimi esempi indico solo il codice javascript.

    Contare i link

    Posso usarlo per sapere quanti link ci sono in una pagina:

    <script>
    const totalLinks = document.links.length;
    console.log(`Ci sono ${totalLinks} link in questa pagina.`);
    </script>

    Filtrare i link per dominio

    Posso anche utilizzarlo per trovare tutti i link che puntano a un certo dominio:

    <script>
    const specificDomainLinks = Array.from(document.links).filter(link => link.href.includes("andreaminini.it"));
    document.write(`Ci sono ${specificDomainLinks.length} link che puntano a questo sito`);
    </script>

    Cambiare il colore dei link

    Posso anche cambiare il colore di tutti i link in una pagina:

    <script>
    for (let link of document.links) {
       link.style.color = 'red';
       }
    </script>

    Questo codice imposta il colore di tutti i link a rosso.

    Aggiungere un evento clic a tutti i link

    Supponiamo che voglia aggiungere un avviso ogni volta che viene cliccato un link:

    <script>
    Array.from(document.links).forEach(link => {
    link.addEventListener('click', function(event) {
    event.preventDefault(); // Impedisce il comportamento di default del link
    alert(`Hai cliccato su ${this.href}`);
    });
    </script>

    Questo codice aggancia un gestore di eventi di tipo 'click' a ogni link.

    Quando un link viene cliccato, impedisce il comportamento di default del browser (che sarebbe di seguire il link) e mostra un messaggio di avviso.

    E così via.

     

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Document in Javascript

    I metodi

    Le proprietà