Найдите первую вкладку без скрытого класса и установите его активным - PullRequest
0 голосов
/ 30 марта 2019

У меня есть раздел с вкладками, которые начинаются со «скрытого» класса при загрузке страницы, и по умолчанию первая вкладка будет активной, если на ней есть контент.Но иногда на первой или второй вкладке не будет содержимого, поэтому, если на третьей вкладке есть содержимое, она должна быть активной, но я не могу получить согласованные результаты.

Так как они всегда будут скрыты на страницезагрузить, я установил свой код в функции on ("load"), но иногда вторая вкладка будет активной, а первая нет, даже если обе не скрыты.Кажется, что он устанавливает активный класс на второй вкладке, прежде чем проверять, имеет ли первая скрытый класс.

Вот jQuery:

   $(window).on("load",function () {       
            if($el.find("> ul > li:first").hasClass("hidden") ) {
                $el.find("> ul > li").nextAll("li").not(".hidden").first().addClass("active selected");
                $el.find(">div").hide().removeClass("active");
                $("#" + $el.find(">ul > li.selected > a").attr("href").split("#")[1]).fadeIn();
            }
        });

И HTML:

<ul class="col-xs-12 noPadding">
    <li class="content1_tab hidden">
        <a href="#content1_tab">Some Content</a>
    </li>
    <li class="content2_tab hidden">
        <a href="#content2_tab">Some Content</a>
    </li>
    <li class="content3_tab">
        <a href="#content3_tab ">Some Content</a>
    </li>
    <li class="content4_tab hidden">
        <a href="#content4_tab ">Some Content</a>
    </li>
 </ul>

Подводя итог, как я могу проверить каждое вхождение скрытого класса и установить активный класс на первой вкладке, которая не скрыта?

Редактировать ** Хорошо, я смог установить первыйвкладка активна, хотя она не дает последовательных результатов.Большую часть времени у нас активна первая вкладка, но иногда нет.Я попробовал документ вместо окна, но это ничего не делает.Любое решение для этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...