«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как точно получить свойство Display элемента DOM и почему свойство .style может возвращать пустые строки

Как точно получить свойство Display элемента DOM и почему свойство .style может возвращать пустые строки

Опубликовано 4 ноября 2024 г.
Просматривать:939

How to Accurately Retrieve the Display Property of a DOM Element and Why the .style Property May Return Empty Strings

Извлечение свойства отображения элемента DOM: раскрытие истинного значения

Приведенный HTML-код представляет абзац и привязку с различным отображением стили. Однако получение этих стилей через свойство style приводит к неожиданным пустым строкам. Почему это так и как можно точно получить свойство display?

Загадка пустой строки

Первоначальная путаница возникает из-за того, что .style.* свойства сопоставляются непосредственно с атрибутом стиля, а не с примененным стилем. Это означает, что вы, по сути, проверяете объявление встроенного стиля, который не всегда может отражать вычисленный стиль.

Решение: getComputedStyle

Чтобы получить фактически примененный стиль , включая унаследованные свойства, вам необходимо использовать метод getComputedStyle. Этот метод принимает элемент DOM в качестве аргумента и возвращает объект CSSStyleDeclaration, содержащий вычисленные значения стиля.

Предоставленный код можно изменить для использования getComputedStyle следующим образом:

var a = (document.getElementById('a'));
alert(getComputedStyle(a).display);
var p = (document.getElementById('p'));
alert(getComputedStyle(p).display);
p.style.display = 'none';
alert(getComputedStyle(p).display);

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

Альтернативный подход: переключение классов

Вместо того, чтобы полагаться на свойство display, вы можете рассмотреть возможность использования имен классов для переключения видимость элементов. Отделив представление от логики, вы можете упростить свой код и сделать его менее подверженным проблемам, связанным со стилем.

Заявление о выпуске Эта статья перепечатана по адресу: 1729379537. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3