Ver Mensaje Individual
  #9 (permalink)  
Antiguo 21/10/2011, 08:29
kiko's
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: A ver si me podéis ayudar.

Esto sí funciona:

Código HTML:
<html>
  <head>
    <!-- Hay que incluir el código de jQuery -->
    <script src="http://code.jquery.com/jquery-1.6.4.min.js" type="text/javascript"></script>
    <script src="bg.js" type="text/javascript"></script>
  </head>
  <body>
     <img src="m_f1.png" class="background">
     <img src="m_f2.png" class="background">
     <img src="m_f3.png" class="background">
  </body>
</html> 
Además, siempre que utilices funciones de jQuery, tu código deberá dentro de:
$(document).ready(function(){
// Aquí código javascript
});

Código HTML:
$(document).ready(function(){
   $(".background").click(function(event){
      var srcImagen = $(this).attr('src');
      $("body").attr("style", "background-image: url(" + srcImagen+ ")");
   });
});
También pusiste $("#body") cuando para tu código html sería $("body"). ¿Por qué? Porque # es el "ID selector", es decir, que estás haciendo referencia a todos los elementos con el ID body. Es decir, que si yo tuviera un div tal que así:
<div id="body"></div> con $("#body") le estaría añadiendo una imagen de fondo a ese div, y a todos con id="body".

Con $("body") estás haciendo referencia a todas las etiquetas body. Con $("pepito") estás haciendo referencia a todas las etiquetas pepito. Con $("libro") estás haciendo referencia a todas las etiquetas libro, etc.

Esto son etiquetas:
<body>
<pepito>
<libro>

Saludos.