Jak uzyskać i ustawić właściwości CSS niestandardowych (te dostępne z var(…)
w arkuszu stylów) przy użyciu JavaScript (zwykły lub jQuery)?Dostęp do CSS właściwość niestandardową (aka CSS zmienną) poprzez JavaScript
Oto moja nieudana próba: klikając na przycisk zmienia zwykły font-weight
nieruchomość, ale nie własność zwyczaj --mycolor
:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<style>
body {
--mycolor: yellow;
background-color: var(--mycolor);
}
</style>
</head>
<body>
<p>Let's try to make this text bold and the background red.</p>
<button onclick="plain_js()">Plain JS</button>
<button onclick="jQuery_()">jQuery</button>
<script>
function plain_js() {
document.body.style['font-weight'] = 'bold';
document.body.style['--mycolor'] = 'red';
};
function jQuery_() {
$('body').css('font-weight', 'bold');
$('body').css('--mycolor', 'red');
}
</script>
</body>
</html>
jest 'var' obsługiwana w CSS? –
@Gothdo Tak, istnieje. https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables Jest jednak nadal eksperymentalny. Również jego cel nie jest przeznaczony dla rzeczy, które zmieniasz w czasie wykonywania, ale dla łatwości konserwacji. Jeśli chcesz rzeczy można zmienić spojrzenie na [atr] (https://developer.mozilla.org/en/docs/Web/CSS/attr) – ste2425
zmienne CSS funkcja eksperymentalna ... I nie oczekiwać, aby thema być dostępne przez JS. Mogę się mylić ... Ale dlaczego nie skorzystać z FireBug i oczekiwać elementów DOM, aby się samemu dowiedzieć? – Connum