2009-06-01 14 views

risposta

7

Avete un'altra libreria javascript su quella pagina? Sembra che tu abbia la funzione hide e la definizione $ (il prototipo, ad esempio, ha anche una funzione hide).
Se questo è il caso, provare:

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

Grazie mille ........ mi hai salvato la giornata –

1

Hai liDiv anziché myDiv. Prova:

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

il mio errore ..... ho usato myDiv, ma è stato scritto male qui, non funziona però con myDiv. –

2

Sembra che jquery non sia collegato correttamente alla pagina.

Controlla il tuo collegamento a jQuery.

+0

È allegato perché sono in grado di utilizzare $ (myDiv) .hide(); funziona perfettamente –

+0

Stai collegando a jQuery nella sezione Testa? Stai usando un'altra libreria javascript che usa anche il carattere $ come identificativo?(OpenLayers è una di queste librerie) – Adrian

3

Inoltre, probabilmente hai dimenticato un # nel selettore (a meno che tu non abbia qualcosa come <item_1 /> nel markup).

var myDiv = '#item_' + itemID; 

jQuery utilizza selettori CSS per cercare gli elementi, quindi senza la #, si otterrebbe ogni elemento con il tag item_x anziché l'ID.

+0

Non importa però, questo errore non compare se jQuery è caricato correttamente. – cgp

+0

Hai assolutamente ragione, ho appena postato questo se * ancora * non ha funzionato. Pensavo che la variabile denominazione fosse il problema, anche se ora vedo che avevo torto. – moff

4

Anche se il selettore non ha prodotto gli elementi della collezione chiamata di funzione avrebbe funzionato (non generato questo errore comunque) se jQuery è stato caricato correttamente. O c'è un conflitto nella pagina, o non è stato caricato affatto. Puoi provare

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

o cercare perché jQuery non è stato caricato.

P.S .: non dimenticare lo # nel selettore se si seleziona con id.

+0

+1, buon punto. –

+0

Come posso controllare che jQuery sia caricato o meno. Sono in grado di utilizzare $ (myDiv) .hide(); funzione perfettamente. ma non dissolvenzaOut –

1

Provare a tenere dentro

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

Sembra che si sta cercando di chiamare la funzione prima di jQuery/i carichi DOM.

+0

quando uso $ (document) .ready (function() {} il suo dire $ (document) .ready non è una funzione –

60

Questo accadrà se si sta usando la versione "slim" di jQuery. Solo la versione "completa" di jQuery include effetti di animazione.

Prova afferrando la versione "full" di jQuery dal jQuery downloads page compreso che nella tua pagina (o comprendente una versione completa di jQuery from a CDN dalla pagina).

+7

Questo risolto il mio problema! Grazie! –

+0

Non posso credere che sia stato quello stupido problema ..... tale perdita di tempo per problemi minori ............. Grazie amico! –

+1

Questo dovrebbe essere il risposta giusta considerando la quantità di voti Up. –

5

Ho avuto questo errore perché stavo usando una versione snella di jQuery. Se scarichi la versione completa dovresti stare bene.