Как добавить активную ссылку динамически с JQuery

0

У меня есть <nav>, содержащий мои ссылки на моей странице. Это выглядит так:

<nav>
    <ul>
        <li><a href="index.htm">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Portfolio</a></li>
        <li><a href="#">Contact</a></li>
    </ul>
</nav>

Я пытаюсь динамически добавлять .active класс к родительскому (li). ссылки, используя некоторый jQuery. Это выглядит так:

$(function() {
    $("nav a").each(function() {
        var hreflink = $(this).attr("href");
        if (hreflink.toLowerCase()==location.href.toLowerCase()) {
            $(this).parent("li").addClass("active");
        }
    });
}); 

Я считаю, что причина этого в том, что моя переменная hreflink возвращает что-то вроде этого: index.htm и location.href.toLowerCase() возвращает это: file:///c: /personal/theme/index.htm

Я предполагаю, что есть лучший способ сделать это. Кто-нибудь сможет помочь? Благодарю!

Теги:

1 ответ

1
Лучший ответ

Просто отрежь нуждающихся вещей, а затем сравните.

Попробуйте,

var currentLink = location.href;
if (hreflink.toLowerCase()===currentLink.substring(currentLink.lastIndexOf('/')).toLowerCase()) {
  • 0
    Я вижу, что вы делаете здесь, но я верю, что просто вернет /index.htm . Есть ли способ раздеть / ?
  • 1
    @ scapegoat17, тогда просто перейдите с currentLink.lastIndexOf('/') + 1
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню