может получить 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];Этот подход требует регулярного выражения, чтобы соответствовать имени собственности и извлечения его значения. Он считается решением низкого уровня и не может быть наиболее эффективным или подходящим методом для всех сценариев.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3