Можно ли заставить мульти псевдоэлемент использовать javascript? - PullRequest
0 голосов
/ 18 марта 2020

На самом деле, я хочу получить несколько псевдоэлементов для использования querySelectorAll.

Я читал некоторые связанные статьи там, и все разработчики говорят, что у нас нет доступа к использованию querySelectorAll для получения нескольких псевдоэлементов. .

Мы можем получить только один элемент для использования querySelector и кода, как показано ниже.

const textAfter = window.getComputedStyle(
document.querySelector(".text-after"), ":after"
).getPropertyValue("color")
console.log(textAfter)

Но иногда для целей нашего проекта необходимо использовать несколько селекторов. Так вот почему кто-нибудь испытал здесь? кто может помочь решить эту проблему?

Спасибо @ All

1 Ответ

1 голос
/ 18 марта 2020

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

const elements = Array.from(document.querySelectorAll(`.text-after`));

const allOfThem = elements.map(element => 
  window.getComputedStyle(element, ":after").getPropertyValue("color")
);

console.log(allOfThem);

(здесь мы используем Array.from, потому что пока происходит HTMLCollection с .forEach он не идет с .map, поэтому нам нужно сделать его реальным массивом, прежде чем мы сделаем наше отображение)

...