jQuery: raggruppare i link esterni presenti in un testo

jQuery: raggruppare i link esterni presenti in un testo

Con jQuery possiamo raggruppare tutti i link esterni presenti in un testo.

La soluzione รจ la seguente:


"use strict";

var collectExternalLinks = function( element ) {
    var localBaseUrl = location.protocol + "//" + location.host + "/";
    var links = [];
    element.find( "a" ).each(function() {
        var $a = $( this );
        var href = $a.attr( "href" );
        var title = ( $a.attr( "title" ) ) ? $a.attr( "title" ) : href;

        if( $a.attr( "href" ).indexOf( localBaseUrl ) == -1 && /^https?/.test( href ) ) {
            var link = '<li><a href="' + href + '">' + title + '</a></li>';
            links.push( link );
        }
    });

    if( links.length > 0 ) {
        var list = '<aside><h4>Links</h4><ul>';

        list += links.join( "" );

        list += '</ul></aside>';

        element.after( list );

    }
};

$(function() {
    collectExternalLinks( $( "#content" ) );
});

Torna su