Io userei jQuery.
codice:
$('Id').css('backgroundColor','#fff');
Quello che vuoi fare tu, potresti farlo usando in qualche modo eval(), ma in linea di massima è sconsigliato.
Se vuoi richiamare delle proprietà di un oggetto in modo dinamico, puoi usare la sintassi a parentesi quadre. In tal caso dovrai comunque definire singolarmente le varie proprietà. In pratica dovresti definire due variabili, una per "style" e una per "backgroundColor".
Volendo potresti anche utilizzare il sistema di riferimento diretto per selezionare gli elementi del DOM; cioè gli elementi del DOM sono definiti come variabili globali su document e su window. Anziché document.getElementById('Id') potresti scrivere semplicemente Id. Questo sistema ha comunque delle controindicazioni ed è generalmente considerato una cattiva pratica. Esistono poi altri metodi come querySelector() e altri simili. In alternativa potresti però creare una tua funzione con un nome più corto, che "avvolge" il getElementById, in modo da creare un alias di tale metodo; è utile nel caso tu abbia intenzione di utilizzare tale metodo in modo intensivo.
Qui un esempio con riferimento diretto e proprietà richiamate in modo dinamico:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
</head>
<body>
<div id='Id'> ciao </div>
<script type="text/javascript">
var css = 'style';
var bgc = 'backgroundColor';
Id[css][bgc] = 'white';
</script>
</body>
</html>
Qui con un alias per getElementById:
codice:
<!DOCTYPE HTML>
<html>
<head>
<title>Esempio</title>
<meta charset="utf-8">
</head>
<body>
<div id='Id'> ciao </div>
<script type="text/javascript">
function sel(id) {
return document.getElementById(id);
}
var css = 'style';
var bgc = 'backgroundColor';
sel('Id')[css][bgc] = 'red';
</script>
</body>
</html>
Ma tutte queste tecniche, se vedi bene, sono già disponibili e funzionanti in modo egregio con librerie tipo jQuery (una tra le più utilizzate). Per tale motivo la mia affermazione iniziale. Se il tuo scopo è quello di sintetizzare al meglio i tuoi script, perché non affidarsi ad una libreria liberamente utilizzabile, testata e ottimizzata per i vari browser, che lo faccia per te?