2010-05-10 6 views
39

Cela fonctionne:Comment alerter en utilisant jQuery

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

Mais cela ne:

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

Quelle est la syntaxe correcte pour jQuery:

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

définir "alerte". Voulez-vous une fenêtre contextuelle (via 'window.alert()'), ou quoi? – Eric

+0

Voulez-vous que l'alerte s'affiche uniquement lorsqu'un élément de la classe en retard est cliqué? – Adam

+1

Je pense que l'alerte est définie juste dans l'exemple ci-dessus. –

Répondre

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

Remarque que ".addClass()" fonctionne car addClass est une fonction définie sur l'objet jQuery. Vous ne pouvez pas simplement replier n'importe quelle vieille fonction sur la fin d'un sélecteur et s'attendre à ce que cela fonctionne.

Aussi, probablement une mauvaise idée de bombarder l'utilisateur avec n popups (où n = le nombre de livres en retard).

peut-être utiliser la fonction de la taille:

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

Eh bien, je l'ai attendu à travailler ... –

+7

Ce n'est pas grave. Passez du temps sur le site Web JQuery en lisant leur documentation. Ça va donner un sens à ce qui se passe finalement. –

9

Pour chacun travaille avec JQuery comme dans

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

JQuery aussi, pour un pop-up, a dans la bibliothèque de l'interface utilisateur d'un widget de dialogue: http://jqueryui.com/demos/dialog/

Check it out, fonctionne très bien.

HTH.

+0

Comment ne pas répondre à la question ^^ –

+2

D'accord, j'ai raté le point, et j'ai révisé mon commentaire. –

+0

Bonne alternative pour utiliser jQuery-UI. –

9

Ne faites pas cela, mais comment vous le feriez:

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

La raison pour laquelle je dis « ne pas le faire » est parce que rien est plus gênant pour les utilisateurs, dans mon opinion, que les pop-ups répétés qui ne peuvent pas être arrêtés. Au lieu de cela, utilisez simplement la propriété length et dites-leur que "Vous avez des livres X en retard".

+8

Agaçant l'utilisateur est ce que le client veut. –

+0

@cf_PhillipSenn: * Chuckles * Compris. –