2009-10-23 19 views
6

Im usando jQuery para establecer la imagen de fondo de un div de la siguiente manera:imagen Configuración div fondo utilizando jQuery

$(document).ready(function() { 
    $('#pic').css("background","url(images/pic.jpg)"); 

}); 

Pero la imagen no va a ser visualizado. Cómo arreglar esto ?

Gracias.

Respuesta

1

Debería funcionar, pero ¿ha intentado usar "background-image" en lugar de "background"?

Además, ¿puede navegar a la imagen a través de su navegador correctamente? Es decir. yourdomain/images/pic.jpg?

Editar: Además, ¿ha establecido un ancho y alto para el div? El div no cambiará automáticamente el tamaño de una imagen de fondo.

+0

Debería funcionar con 'background' o 'background-image'. Verificar la imagen, navegando hacia ella, siempre es una buena idea. – belugabob

+0

Buen punto sobre el ancho y la altura pero, supongo, probablemente haya algún otro marcado dentro del div que le dé alto y ancho). – belugabob

+0

Es por eso que hice la pregunta. – GenericTypeTea

8

tal vez también trabaja con background pero siempre uso

background-image 

Y también siempre poner comillas alrededor de la ruta

$('#pic').css("background-image","url('images/pic.jpg')"); 
+0

Debería funcionar con 'fondo' o 'imagen de fondo'. No debería ser necesario usar comillas. – belugabob

+0

No debería ser, pero parece que es para navegadores que no son IE. (+1) Por ahorrarme horas de dolor. – Bob

0

Esto es probablemente debido a cuestiones de ruta relativa.

¿Cuál es la ruta (es decir, la URL que aparece en la barra de navegación del navegador) para la página que contiene el código que ha publicado? ¿Dónde está esto en relación con el directorio de imágenes?

administrar esto puede ser un poco una pesadilla, especialmente si ha incluido un archivo de JavaScript en varias páginas, que están en diferentes niveles dentro de una jerarquía de URL.

La mejor manera de manejar esto, es definir una clase, en un archivo css, hacer las URL de la imagen relativas a la ubicación del archivo css, y luego simplemente aplicar la clase a su div, en lugar de configurar individualmente atributos de estilo.

Cuestiones relacionadas