2010-05-10 50 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