Dziękuję za odpowiedź.
W moim przypadku mam tylko klasę, bez istniejącego elementu tej klasy. Jak odczytać wartość parametru na podstawie samej nazwy klasy?
var classes = ['classA', 'classB'];
<style>
.classA {
--ratio: 1.5;
}
.classB {
--ratio: 1.75;
}
</style>
Nie do końca rozumiem, jak zastosować Twój kod:
const root = document.documentElement;
const ratio = getComputedStyle(root, '.classA').getPropertyValue('--ratio');
console.log(ratio);
To nie działa, nie wiem co robię źle?
PS. Ok rozumiem, kod będzie działał jak będzie istniał element o danej klasie. U mnie nie ma elementu, będę go tworzył na postawie css (chcę odczytać parametr --ratio
i na tej podstawie liczyć szerokość i wysokość elementu). Jak odczytać ratio, jeżeli nie istnieje jeszcze element?
OK odpowiedź jest tu: https://stackoverflow.com/questions/33862570/javascript-getcomputedstyle-without-source-element
if (class_) {
var div = document.createElement("div")
div.style.display = "none"
document.body.appendChild(div)
div.className = class_;
ratio = parseFloat(getComputedStyle(div).getPropertyValue("--ratio"));
div.parentNode.removeChild(div);
}