2012-10-10 26 views
8

Các followingcode sẽ cháy cảnh báo cho sự kiện click cho các yếu tố với Class = a.cssPauseAllOR thuộc tính = historyIDJQuery nhiều selectors, "VÀ"

$(document).on("click","a.cssPauseAll,[historyID]", function() { 
    alert($(this)); 

}); 

Làm thế nào tôi có thể sử dụng nhiều bộ chọn sử dụng một nhà điều hành AND?

có nghĩa là, các thành phần có thuộc tính a.cssPauseAll lớp ANDhistoryID?

Trả lời

8

Chỉ cần loại bỏ các , từ chọn của bạn:

$(document).on("click","a.cssPauseAll[historyID]", function() { 

historyID không phải là một thuộc tính hợp lệ, bạn có thể sử dụng data-* thuộc tính thay vì:

$(document).on("click","a.cssPauseAll[data-historyid]", function() { 
+4

1 đề cập đến các thuộc tính dữ liệu. –

+0

Tôi không hiểu ... là dữ liệu - chỉ là một quy ước? vì nó hoạt động mà không có nó – RollRoll

+1

@EdwinSoho Vâng, nó hoạt động, nhưng làm cho tài liệu của bạn không hợp lệ, các thuộc tính 'data- *' cho phép bạn lưu trữ dữ liệu tùy chỉnh trong tài liệu của bạn http://html5doctor.com/html5-custom-data-attributes/ – undefined

3

các yếu tố với a.cssPauseAll lớp AND historyID thuộc tính

Sử dụng bộ chọn sau:

a.cssPauseAll[historyID] 

thử nó cho mình - http://jsfiddle.net/SrNDt/

Lưu ý: Dấu phẩy selectors riêng biệt và do đó hành xử như một logic OR. Chaining biểu thức thành một công cụ chọn đơn hoạt động như một số AND hợp lý.

1

Hãy thử điều này

$(document).on("click","a.cssPauseAll[historyID]", function() { 

Chỉ cần loại bỏ các dấu phẩy,

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