Imagen de fondo con javascript... ?

JuShTo

¿Dónde está el error?

<script>

function fondo() {
			var actual = self.location.href.match( /\/([^/]+)$/ )[1];
			var naranja = ["index.html"];
			var azul = ["limpio.html"];
			for (i=0;i<naranja.length;i++)
			{
				if (actual == naranja[i])
				{
					document.getElementById("general").style.background="background-image:url(../images/fondo2.jpg) no-repeat";
					
			}
		}
}
			
	</script>
</head>

<body>
<script>
fondo();
</script>
<div id="general">

El script lo he puesto después del div general una vez cerrando, dentro, yo que sé en todos los lados por si era un problema de flujo... pero se ve que no :\

Tengo un layout.css donde la propiedad background-image para id general no está definida.

S

Lo primero es que deberías de usar http://www.w3schools.com/jsref/event_onload.asp para ejecutar la función.
Lo segundo, no suelo añadir css con javascript nativo pero me parece que tienes mal el valor de la propiedad.

..."style.background="url(../images/fondo2.j..."

Si te sigue sin funcionar usa la consola de chrome/firefox para poner un breakpoint y ver cual es el problema

SikorZ

Quizas simplemente la ruta de la imagen no es la correcta, tonterias asi suelen ser los fallos mas comunes xD... Aunque no estoy seguro de que ese DOM funcione asi, le echo un ojo y edito

EDIT:

Ok, parece que estas usando mal el DOM de javascript de style.background, aqui tienes mas info:

http://www.w3schools.com/jsref/prop_style_background.asp

ponlo tal que asi:
document.body.style.background="#f3f3f3 url('img_tree.png') no-repeat right top";

Si quieres quitarte de marrones simplemente quitale el archivo y toda la mierda y deja solo la primera propiedad, que es el color en hex. Por ejemplo si te toca rojo o azul como decias pones:

Rojo: #FF0000
Azul: #0000FF

Si vas a poner solo colores no veo sentido para usar imagenes como fondo =/

Usuarios habituales