Hola,
Lo que pasa es que estas llamando a la funcion antes de que exista el div. Si lo cambias a:
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script>
function x(){
document.getElementById('capa').style.backgroundColor = "#ffcc00";
}
</script>
</head>
<body>
<div id="capa" style="border: 1px solid #c0c0c0">
capa
</div>
<script>
x();
</script>
</body>
</html>
deberia funcionar. Es como cuando quieres poner el focus por defecto a un control de un formulario al cargar la pagina.
Saludos.
PD: Tambien podrias ponerla en el onload, supongo.