dimanche 17 mars 2019

Laravel - How to get a generated url from a link with jQuery

I'm working with Bootsrtap 4 and I'm trying to add the class active to my nav-item elements whenever their nav-link href attribute is the same as the current url.

On the html side, I uesd a basic url generator as shown below:

<ul class="navbar-nav">
    <li class="nav-item">
        <a class="nav-link" href="" role="button">Brands</a>
    </li>

    <!-- ... -->
</ul>

And then I used a jQuery method to compare them with the current url:

$('.navbar-nav .nav-item .nav-link').each( () => {
    // If the current path and the link url are the same...
    if ($(this).attr('href').indexOf(location.pathname) !== 1) {
        // ...then add the class 'active' to 'nav-item', its parent
        $(this).parent().addClass('active')
    }
})

However, I noticed that $(this).attr('href') was undefined, probably because it's a generated url, and therefore nav-item doesn't get the active class.

Does anyone know how to solve this problem? Thanks in advance.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire