Псевдоэлементы CSS невероятно полезны - они позволяют нам выполнять ряд других простых задач, предотвращая при этом необходимость в дополнительных элементах HTML. До сих пор эти свойства CSS псевдоэлементов были недоступны для JavaScript, но теперь есть способ их получить!
Предположим, ваш CSS выглядит так:
.element:before { content: 'NEW'; color: rgb(255, 0, 0); }
Чтобы получить свойство цвета .element:before
, вы можете использовать следующий код JavaScript:
var color = window.getComputedStyle( document.querySelector('.element'), ':before' ).getPropertyValue('color')
Передача псевдоэлемента в качестве второго аргумента window.getComputedStyle
позволяет получить доступ к указанным стилям псевдоэлементов! Храните этот фрагмент в своем наборе инструментов на долгие годы - псевдоэлементы станут только более полезными с расширенной поддержкой браузеров!
Теперь для людей вроде меня, которые обязывают проводить модульные тесты для всего. Я использую транспортир какое-то время, и это УДИВИТЕЛЬНО !. Я могу делать забавные вещи, например проверять псевдоэлементы для свойств CSS :: after и :: before.
Вы можете использовать что-то подобное для выполнения сценария в браузере и получения значений из элемента, а затем их утверждения относительно значения по вашему выбору. Например, вы хотите проверить свойство цвета класса span с помощью псевдоэлемента :: после, вы можете сделать что-то вроде этого:
expect(browser.executeScript("return window.getComputedStyle(document.querySelector('.fs-headline.fs-responsive-text>span'), ':after').getPropertyValue('color')")).toEqual('rgb(196, 26, 35)');
Не чтобы быть придирчивым, но убедитесь, что вы преобразовали rgba в соответствующее ему HEX-значение при перекрестной проверке.
#keepcodingcoolstuff