jquery удаляет класс из родительского

#javascript #jquery #class

Вопрос:

Я зацикливаю список людей и показываю каждого из них. Когда вы нажимаете на один из них, он показывает вам их биографию. Я боролся с сокрытием окна биографии, потому что div продолжает возвращаться в прежнее состояние. Я могу без проблем ДОБАВЛЯТЬ классы, но, похоже, не могу их удалить. Что-то связанное с прекращением пропаганды?

 <div class="layout" id="{{ uuid }}">
    <h2 class="title-52">{{ people_list_title }}</h2>

    <div class="md:flex flex-wrap md:-mx-3 xl:-mx-6.25 mt-10 ">


        {{ people }}
        <div class="person">
            <div>
                <a
                    class="circle block relative m-auto overflow-hidden w-52 h-52 2xl:w-58.25 2xl:h-58.25 hover:bg-primary">
                    <img class="image filter grayscale" src="{{ image }}">
                    <span class="icon hidden absolute bottom-0 right-0">
                        <span
                            class="w-12.5 h-12.5 flex items-center justify-center bg-black transition-all duration-500 ease-in-out">
                            <svg class="text-white fill-current" width="16" height="10" viewBox="0 0 16 10" fill="none"
                                xmlns="http://www.w3.org/2000/svg">
                                <path
                                    d="M12.377 4.243L9.125 1l1.003-1 5.015 5-5.015 5-1.003-1 3.353-3.343H.858V4.243h11.52z" />
                            </svg>
                        </span>
                    </span>
                </a>
                <div class="pt-2.5 flex flex-col gap-y-2.5 text-center">
                    <a>
                        <strong class="title-22">{{ name }}</strong>
                        <p class="leading-7">{{ role }}</p>
                    </a>
                </div>
            </div>

            <!-- **THIS IS THE BIO BOX** PERSON LIGHT BOX-->
            <div id="personLightbox" class="personLightbox bg-black fixed h-screen w-screen inset-0 transition duration-500 bg-opacity-70 opacity-0 z-0 top-0 left-0 flex justify-center p-20 pointer-events-none">
                
                <div class="lg:w-200 bg-white p-8 pt-12.5 md:pb-20 md:px-20 relative">

                    <div class="cursor-pointer absolute right-0 top-0 z-50">
                        <p id="closeBtn" class="button btn-closed btn-secondary">
                            <svg width="12" height="12" viewBox="0 0 12 12" fill="none"
                                xmlns="http://www.w3.org/2000/svg">
                                <path
                                    d="M4.857 6L0 10.857 1.143 12 6 7.143 10.857 12 12 10.857 7.143 6 12 1.143 10.857 0 6 4.857 1.143 0 0 1.143 4.857 6z" />
                            </svg>
                        </p>
                    </div>

                    <div class="flex flex-col md:flex-row justify-center md:justify-start items-center gap-x-5">
                        <div class="w-43.25 h-43.25 filter grayscale rounded-full border bg-center border-red-500"
                            style="background-image: url({{ image }}); background-size: cover;">

                        </div>
                        <div class="mt-10 md:mt-0 flex flex-col gap-y-2.5">
                            {{ if role }}
                            <span class="label block">{{ role }}</span>
                            {{ /if }}
                            <span class="title-32 leading-8 block">{{ name }}</span>
                            <span class="flex justify-start items-center gap-x-2.5 mt-2 text-base">
                                <svg width="19" height="15" viewBox="0 0 19 15" fill="none"
                                    xmlns="http://www.w3.org/2000/svg">
                                    <path fill-rule="evenodd" clip-rule="evenodd"
                                        d="M17.943.56c.416.36.69.857.771 1.402l-9.34 6.044-9.34-6.044A2.303 2.303 0 012.306 0h14.139c.55.002 1.082.2 1.499.56zM9.375 9.375c.12 0 .238-.034.34-.1l9.035-5.847v9.267A2.309 2.309 0 0116.444 15H2.306A2.308 2.308 0 010 12.695V3.429l9.036 5.846c.1.066.219.1.339.1z"
                                        fill="#000" />
                                </svg>
                                {{ if email }}
                                {{ email }}
                                {{ /if }}
                            </span>
                        </div>
                    </div>

                    <div class="mt-10">
                        {{bio}}
                    </div>

                </div>
            </div>
        </div>
        {{ /people }}


    </div>

</div>


<script>


**THIS IS DISPLAYING THE CORRECT BIO DEPENDING ON WHICH ONE IS CLICKED**

    $(".person").click( function() {

        $(".personLightbox", this ).removeClass("opacity-0 z-0 pointer-events-none").addClass("opacity-100 z-40 pointer-events-auto fixed");

    });




**THIS SHOULD BE HIDING THE BIO**

    $("#closeBtn").click( function(){
        
        $(".personLightbox").removeClass("opacity-100 z-40 pointer-events-auto fixed").addClass("opacity-0 z-0 pointer-events-none");

        console.log("hello2");

    });


</script>