При удалении элементов поочередно удаляется только один

let deleteProfile = document.querySelector('.profile')
let cross = document.querySelectorAll('.profile__delete')

for (let element of cross) {
    element.onclick = () => deleteProfile.remove()
}

<section class="list">
    <div class="container">
        <div class="list__inner">
            @foreach ($data as $element)
            <div class="profile">
                <ul>
                    <li class="profile__fild">
                        <div class="profile__number">{{ $element->id }}</div>
                    </li>
                    <li class="profile__name">{{ $element->name }}</li>
                    <li class="profile__city">{{ $element->city }}</li>
                    <li class="profile__age">{{ $element->age }}</li>
                    <li class="profile__specialty">{{ $element->specialty }}</li>
                    <li><a class="profile__write" href="#">Написать</a></li>
                    <li><a class="profile__call" href="#">Позвонить</a></li>
                    <li><div class="profile__delete"></div></li>
                </ul>
            </div>
            @endforeach
        </div>
    </div>
</section>

Ответы (1 шт):

Автор решения: Vasily

Если я правильно понял Вашу задачу и Вам нужно удалить конкретный .profile элемент по нажатию на вложенный в него .profile__delete элемент, то:

const cross = document.querySelectorAll(".profile__delete")    
cross.addEventListener("click", event => {
    event.target.closest(".profile").remove()
}, false)
→ Ссылка