Проверка нескольких условий в jquery - PullRequest
0 голосов
/ 20 марта 2020

Проверяет наличие нескольких условий без проблем. Но не дальше, чем это. Когда я удаляю несколько условий, скрипт работает отлично. Что не так с моим кодом?

    $(document).ready(function () {
        if (window.location.href.indexOf("car-club-insurance") || window.location.href.indexOf("motor-home-hire-insurance") || window.location.href.indexOf("van-minibus-hire-insurance") != -1) {
            $("ol.breadcrumb li:nth-child(1)").addClass("active");
        }
        else if
        (window.location.href.indexOf("FormTwo") != -1) {
            $("ol.breadcrumb li:nth-child(3)").addClass("active");
        }
        else if
        (window.location.href.indexOf("FormThree") != -1) {
            $("ol.breadcrumb li:nth-child(5)").addClass("active");
        }
        else if
        (window.location.href.indexOf("PolicyHolder") != -1) {
            $("ol.breadcrumb li:nth-child(7)").addClass("active");
        }
        else if
        (window.location.href.indexOf("Payment") != -1) {
            $("ol.breadcrumb li:nth-child(9)").addClass("active");
        }         
    });
</script> ```

1 Ответ

0 голосов
/ 22 марта 2020

Код неверен. indexof () всегда возвращает int, поэтому проверяет, будет ли (indexof ()) всегда true. Вам нужно поставить сравнение с каждой проверкой так:

$(document).ready(function () {
        if (window.location.href.indexOf("car-club-insurance") != -1 || window.location.href.indexOf("motor-home-hire-insurance") != -1 || window.location.href.indexOf("van-minibus-hire-insurance") != -1) {
            $("ol.breadcrumb li:nth-child(1)").addClass("active");
        }
        else if
        (window.location.href.indexOf("FormTwo") != -1) {
            $("ol.breadcrumb li:nth-child(3)").addClass("active");
        }
        else if
        (window.location.href.indexOf("FormThree") != -1) {
            $("ol.breadcrumb li:nth-child(5)").addClass("active");
        }
        else if
        (window.location.href.indexOf("PolicyHolder") != -1) {
            $("ol.breadcrumb li:nth-child(7)").addClass("active");
        }
        else if
        (window.location.href.indexOf("Payment") != -1) {
            $("ol.breadcrumb li:nth-child(9)").addClass("active");
        }         
    });
...