Почему элемент в DOM, несмотря на то, что он display: none?

   <div class='ifx__alert-icon-wrapper'>
        <ifx-icon icon = {this.icon}></ifx-icon>
   </div>

&__alert-icon-wrapper {
    display: none;
    &.show { 
      position: relative;
      min-width: 48px;
      display: flex;
      justify-content: center;
      align-items: center;
    }

ДОМ:

Почему элемент ifx__alert-icon-wrapper находится внутри DOM, несмотря на то, что он display: none?

Я уверен, что класс show не добавлен.

display: none не удаляет элемент из DOM, он просто скрывает элемент из представления. Если вы хотите удалить элемент, см. developer.mozilla.org/en-US/docs/Web/API/Element/remove
Teemu 20.02.2023 12:00

Я знал это :-D

ILoveCoffee 20.02.2023 12:20

@ILoveCoffee ты явно этого не делал

Diego D 20.02.2023 12:25

@DiegoD Докажи это.

ILoveCoffee 20.02.2023 12:39

Где вы ожидали найти элемент тогда?

Teemu 20.02.2023 12:51

@IloveCoffee первый комментарий ответил на любые сомнения, показанные в вопросе, и ничего не было добавлено в ответ, который вы приняли. Самого вопроса вообще не существовало бы, если бы вы «знали это». Пожалуйста, не бросайте вызов людям, которые прикладывают усилия, отвечая на ваши вопросы, и внимательно читайте то, что они предлагают, прежде чем отвечать.

Diego D 20.02.2023 13:18

@DiegoD Ты ошибаешься.

ILoveCoffee 20.02.2023 14:35
Оптимизация React Context шаг за шагом в 4 примерах
Оптимизация React Context шаг за шагом в 4 примерах
При использовании компонентов React в сочетании с Context вы можете оптимизировать рендеринг, обернув ваш компонент React в React.memo сразу после...
Интервьюер: Почему &apos;[] instanceof Object&apos; возвращает &quot;true&quot;?
Интервьюер: Почему '[] instanceof Object' возвращает "true"?
Все мы знаем, что [] instanceof Array возвращает true, но почему [] instanceof Object тоже возвращает true?
Абстрактное синтаксическое дерево (AST) и как оно работает с ReactJS
Абстрактное синтаксическое дерево (AST) и как оно работает с ReactJS
Абстрактное синтаксическое дерево (AST) - это древовидная структура данных, которая представляет структуру и иерархию исходного кода на языке...
3
7
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Display: none удаляет содержимое элемента при применении к элементу. display: none не удаляет его из кода и не делает так, чтобы его нельзя было увидеть в элементе проверки. display: none можно добавить куда угодно, чтобы убрать его внешний вид. Документы mdn об отображении и информацию об отображении none можно найти там [информация о отображении: нет][1]. Если вы хотите удалить элемент, вам понадобится javascript, используя remove(). Вам нужно будет получить элемент

const element = document.getElementById('your_element');

И вам нужно будет сделать это тоже.

element.remove(); 

Вам нужно присвоить переменную элементу, который вы хотите удалить, а затем использовать remove с именем элемента, как показано выше. [1]: https://developer.mozilla.org/en-US/docs/Web/CSS/display

Другие вопросы по теме