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

Могут ли значения доступа JavaScript недопустимых свойств CSS?

Опубликовано в 2025-03-22
Просматривать:922

Can JavaScript Access Values of Invalid CSS Properties?

может получить JavaScript получить недействительные значения свойства CSS?

объяснение

cssstyleledeclaration объект раскрывает стильные свойства элемента в Javascript. При столкновении с неверным именем свойства, таким как «-my-foo», этот объект обычно пропускает свойство и продолжается с другими достоверными свойствами.

Спецификация стиля DOM-2 предполагает, что все свойства CSS в блоке объявления должны быть доступны через интерфейс CSSstyledEclaration, включая инваальные. Однако на практике, такие как Chrome и Firefox, не поддерживают это поведение.

Несмотря на отсутствие прямого доступа JavaScript к значениям недопустимых свойств CSS, альтернативный подход включает в себя анализ текста необработанного CSS. Извлеките свойства стиля из соответствующего элемента стиля, вы можете вручную идентифицировать и получить значение пользовательского свойства, даже если он недействителен.

пример кода

.innerText; const propertyname = "-my-foo"; const value = styletext.match (new regexp (`\\ b $ {propertyname}: \\ s*(.?) \\ b`," i ")) [1];

const styleText = document.getElementsByTagName("style")[0].innerText;
const propertyName = "-my-foo";

const value = styleText.match(new RegExp(`\\b${propertyName}:\\s*(. ?)\\b`, "i"))[1];
Этот подход требует регулярного выражения, чтобы соответствовать имени собственности и извлечения его значения. Он считается решением низкого уровня и не может быть наиболее эффективным или подходящим методом для всех сценариев.

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

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

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

Copyright© 2022 湘ICP备2022001581号-3