Come si ottengono e si impostano le proprietà personalizzate CSS (quelle con accesso allo var(…)
nel foglio di stile) utilizzando JavaScript (semplice o jQuery)?Accesso a una proprietà personalizzata CSS (anche variabile CSS) tramite JavaScript
Ecco il mio tentativo senza successo: cliccando sui pulsanti cambia la solita font-weight
proprietà, ma non la proprietà personalizzata --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>
'var' è supportato nei CSS? –
@ Goth Sì, c'è. https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables È ancora sperimentale comunque. Inoltre, lo scopo non è inteso per le cose che si modificano in fase di esecuzione ma per la manutenibilità. Se vuoi cose che puoi cambiare guarda [attr] (https://developer.mozilla.org/en/docs/Web/CSS/attr) – ste2425
Le variabili CSS sono una caratteristica sperimentale ... Non mi aspetterei che il essere ancora accessibile tramite JS. Potrei sbagliarmi ... Ma perché non usare FireBug e aspettarsi gli elementi DOM, per scoprire te stesso? – Connum