2010-05-10 37 views
39

này hoạt động:Làm thế nào để cảnh báo sử dụng jQuery

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

Nhưng điều này không:

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

là gì cú pháp jQuery đúng cho:

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

xác định "cảnh báo". Bạn có muốn một hộp bật lên xuất hiện (thông qua 'window.alert()') hay không? – Eric

+0

Bạn có muốn cảnh báo chỉ hiển thị khi một phần tử của lớp quá hạn được nhấp vào không? – Adam

+1

Tôi nghĩ cảnh báo được xác định ngay trong ví dụ trên. –

Trả lời

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

Note rằng ".addClass()" hoạt động vì addClass là một hàm được định nghĩa trên đối tượng jQuery. Bạn không thể chỉ cần bất kỳ chức năng cũ vào cuối của một bộ chọn và hy vọng nó hoạt động.

Ngoài ra, có thể là một ý tưởng tồi để bắn phá người dùng bằng cửa sổ bật lên n (trong đó n = số lượng sách quá hạn).

Có lẽ sử dụng chức năng kích thước:

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

Vâng, tôi đã dự đoán nó hoạt động ... –

+7

Không sao đâu. Hãy dành một chút thời gian trên trang web của JQuery để đọc tài liệu của họ. Nó sẽ có ý nghĩa những gì đang xảy ra cuối cùng. –

9

Đối với mỗi công trình với JQuery như trong

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

JQuery cũng có, cho một popup, có trong thư viện giao diện người dùng một widget thoại: http://jqueryui.com/demos/dialog/

Hãy khám phá, hoạt động thực sự tốt.

HTH.

+0

Làm cách nào để không trả lời câu hỏi ^^ –

+2

Đồng ý, tôi đã bỏ lỡ điểm và sửa đổi nhận xét của mình. –

+0

Thay thế tốt để sử dụng jQuery-UI. –

9

Đừng làm điều này, nhưng đây là cách bạn sẽ làm điều đó:

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

Lý do tôi nói "không làm điều đó" là bởi vì là gây phiền nhiễu hơn cho người dùng, trong tôi ý kiến, hơn là các cửa sổ bật lên lặp lại không thể dừng lại được. Thay vào đó, chỉ cần sử dụng thuộc tính length và cho họ biết rằng "Bạn có sách X quá hạn".

+8

Làm phiền người dùng là những gì khách hàng muốn. –

+0

@cf_PhillipSenn: * Chuckles * Đã hiểu. –

Các vấn đề liên quan