2010-05-10 4 views
39

Questo funziona:Come avvisare utilizzando jQuery

$('.overdue').addClass('alert'); 

Ma questo non lo fa:

$('.overdue').alert('Your book is overdue.'); 

Qual è la sintassi corretta per jQuery:

FOR EACH CLASS="overdue" 
    alert('Your book is overdue'); 
NEXT 
+2

definire "avviso". Vuoi che venga visualizzata una finestra popup (tramite 'window.alert()'), o cosa? – Eric

+0

Vuoi che l'avviso venga mostrato solo quando si fa clic su un elemento di classe scaduto? – Adam

+1

Penso che l'avviso sia definito proprio nell'esempio sopra. –

risposta

78
$(".overdue").each(function() { 
    alert("Your book is overdue."); 
}); 

Nota che ".addClass()" funziona perché addClass è una funzione definita su l'oggetto jQuery. Non puoi semplicemente plopare qualsiasi vecchia funzione alla fine di un selettore e aspettarti che funzioni.

Inoltre, probabilmente una cattiva idea bombardare l'utente con n popup (dove n = il numero di libri scaduti).

utilizzare Forse la funzione di dimensioni:

alert("You have " + $(".overdue").size() + " books overdue."); 
+0

Beh, mi sono aspettato che funzionasse ... –

+7

Va bene. Trascorri del tempo sul sito Web di JQuery leggendo la loro documentazione. Avrà senso che cosa sta succedendo alla fine. –

9

Per ogni opere con JQuery come in

$(<selector>).each(function() { 
    //this points to item 
    alert('<msg>'); 
}); 

JQuery anche, per un popup, ha nella biblioteca interfaccia utente un dialogo widget http://jqueryui.com/demos/dialog/

Check it out, funziona davvero bene.

HTH.

+0

Come non rispondere alla domanda ^^ –

+2

D'accordo, ho perso il punto e ho rivisto il mio commento. –

+0

Buona alternativa all'uso di jQuery-UI. –

9

non fare questo, ma questo è come si dovrebbe farlo:

$(".overdue").each(function() { 
    alert("Your book is overdue"); 
}); 

La ragione per cui dico "non farlo" è perché nulla è più fastidioso per gli utenti, a mio opinione, rispetto ai pop-up ripetuti che non possono essere fermati. Invece, basta usare la proprietà length e far loro sapere che "Hai X libri in ritardo".

+8

Fastidioso l'utente è ciò che il cliente desidera. –

+0

@cf_PhillipSenn: * Chuckles * Capito. –

Problemi correlati