Za pomocą javascript łatwo jest ustawić wbudowane wartości CSS. Jeśli chcę zmienić szerokość i mam html tak:
<div style="width: 10px"></div>
Wystarczy, że:
document.getElementById('id').style.width = value;
Zmieni to wbudowane wartości arkusza stylów. Zwykle nie stanowi to problemu, ponieważ styl wbudowany zastępuje arkusz stylów. Przykład:
<style>
#tId {
width: 50%;
}
</style>
<div id="tId"></div>
Używając tego JavaScript:
document.getElementById('tId').style.width = "30%";
Otrzymuję następujące informacje:
<style>
#tId {
width: 50%;
}
</style>
<div id="tId" style="width: 30%";></div>
To jest problem, bo nie tylko nie chcę zmieniać wartości inline, jeśli szukam szerokości przed jej ustawieniem, kiedy mam:
<div id="tId"></div>
Zwracana wartość to Null, więc jeśli mam JavaScript, który musi znać szerokość czegoś, aby wykonać jakąś logikę (zwiększam szerokość o 1%, a nie do określonej wartości), zwracając Null, gdy oczekuję ciągu "50% „tak naprawdę nie działa.
Więc moje pytanie: mam wartości w stylu CSS, które nie są umieszczone w tekście, jak mogę uzyskać te wartości? Jak mogę zmienić styl zamiast wartości wbudowanych, mając identyfikator?