2009-06-01 15 views

Respuesta

7

¿Tiene otra biblioteca javascript en esa página? Parece que tiene la función hide, y el $ definido (prototipo, por ejemplo, también tiene una función hide).
Si ese es el caso, trate de:

jQuery("#item_0").fadeOut("slow"); 
+0

Gracias mucho ........ me salvaste el día –

1

Tiene liDiv en lugar de myDiv. Pruebe:

function HideMe(itemID) { 
    var myDiv = 'item_' + itemID; 
    $(myDiv).fadeOut("slow"); 
} 
+0

mi error ..... utilicé myDiv, pero fue escrito incorrectamente aquí, aunque no funciona con myDiv. –

2

Parece que jquery no está correctamente conectado a la página.

Compruebe su enlace a jQuery.

+0

Está adjunto porque puedo usar $ (myDiv) .hide(); funcionar perfectamente –

+0

¿Está usted enlazando a jQuery en la sección Cabeza? ¿Estás usando otra biblioteca de JavaScript que también usa $ character como identificador?(OpenLayers es una de esas bibliotecas) – Adrian

3

Además, probablemente haya olvidado un # en el selector (a menos que tenga algo como <item_1 /> en el marcado).

var myDiv = '#item_' + itemID; 

jQuery utiliza selectores CSS para buscar los elementos, por lo que sin el #, se obtendría cada elemento con la etiqueta item_x en lugar del ID.

+0

No importa, este error no aparece si jQuery se carga correctamente. – cgp

+0

Tiene toda la razón, acabo de publicar esto si todavía * no funcionó. Pensé que la denominación variable era el problema, aunque ahora veo que estaba equivocado. – moff

4

Incluso si el selector no devolvió ningún artículo en la colección de la llamada de función hubiera funcionado (no genera este error de todos modos) si jQuery se ha cargado correctamente. O bien hay un conflicto en la página, o no se cargó en absoluto. Puede probar

jQuery(myDiv).fadeOut("slow"); 

o ver por qué jQuery no se ha cargado.

P.S .: no olvide el # en el selector si selecciona por id.

+0

+1, Buen punto. –

+0

¿Cómo puedo verificar que jQuery esté cargado o no? Puedo usar $ (myDiv) .hide(); funciona perfectamente pero no fadeOut –

1

Trate de mantener dentro

$(document).ready(function(){ 
// your code. and don't forget the '#' in front of item. 
}); 

Parece que estás tratando de llamar a la función antes de jQuery/las cargas DOM.

+0

cuando uso $ (document) .ready (function() {} dice que $ (document) .ready no es una función –

60

Esto sucederá si usted está utilizando la versión "slim" de jQuery. Solo la versión "completa" de jQuery incluye efectos de animación.

Intente obtener la versión "completa" de jQuery desde el jQuery downloads page e incluir eso en su página (o incluyendo una versión completa de jQuery from a CDN desde su página).

+7

Esto resuelto ¡Mi problema! ¡Gracias! –

+0

No puedo creer que haya sido ese estúpido problema ... tal pérdida de tiempo por un problema menor ............. ¡Gracias, hombre! –

+1

Este debería ser el respuesta correcta teniendo en cuenta la cantidad de votos hacia arriba. –

5

Tuve este error porque estaba usando una versión delgada de jQuery. Si descargas la versión completa, deberías estar bien.

Cuestiones relacionadas