2010-05-10 90 views
39

這工作:如何提醒使用jQuery

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

但這並不:

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

什麼是正確的jQuery的語法:

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

定義「警報」。你想要一個彈出框(通過'window.alert()'),或者什麼? – Eric 2010-05-10 15:58:16

+0

您是否希望只在點擊過期類的元素時才顯示警報? – Adam 2010-05-10 15:58:59

+1

我覺得警報在上面的例子中就已經定義了。 – 2010-05-10 18:12:03

回答

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

注那「.addClass()」的作品,因爲addClass是一個函數定義jQuery對象。你不能在選擇器的末尾放置任何舊的函數,並期望它能夠正常工作。

另外,用n個彈出窗口(其中n =過期的圖書數量)轟擊用戶可能是個壞主意。

也許使用大小功能:在

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

JQuery的

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

那麼,我期望它的工作... – 2010-05-10 16:02:49

+7

沒關係。花一些時間在JQuery網站上閱讀他們的文檔。最終會發生什麼事情。 – 2010-05-10 16:04:08

9

對於使用jQuery每個作品也是,對於一個彈出窗口,已在UI庫對話框控件:http://jqueryui.com/demos/dialog/

檢查出來,效果很好。

HTH。

+0

如何不迴應這個問題^^ – 2010-05-10 15:59:13

+2

同意,我錯過了這一點,並修改了我的評論。 – 2010-05-10 15:59:53

+0

使用jQuery-UI的不錯選擇。 – 2010-05-10 16:11:04

9

不這樣做,但是這是你會怎麼做:

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

我之所以說「不這樣做」,是因爲什麼更惱人的用戶,在我意見,而不是反覆彈出窗口,不能停止。相反,只要使用length屬性,並讓他們知道「你有X本書逾期未付」。

+8

惱人的用戶是客戶想要的。 – 2010-05-10 16:10:30

+0

@cf_PhillipSenn:*笑了*明白了。 – 2010-05-10 16:55:58