2013-02-10 19 views
17

Tôi đã xem xét tất cả các tài liệu rõ ràng về cú pháp này. Nó được sử dụng để tạo các bộ lọc tùy chỉnh để chọn các phần tử rất cụ thể trong DOM. Có một ví dụ điển hình của Benjamin Arthur Lupton trong ví dụ về gist ajaxify-html5.js (xem dòng 45 trong đó chức năng được xác định và dòng 78 nơi nó được sử dụng), mà ông cung cấp để cho thấy làm thế nào để ajaxify một trang web bằng cách sử dụng history plug-in của mình.Làm thế nào để jQuery.expr [':'] làm việc và nó được tài liệu cho jQuery1.8.x và sau này?

Ngoài ra còn có một blog khá rộng rãi của Shane Riley được gọi là Adding Filter Expressions, nhưng tôi đã lùng sục qua tài liệu hướng dẫn jQuery và tôi không thể tìm thấy bất kỳ tài liệu nào.

tôi sẽ biết ơn nếu bạn có thể một trong hai

  • điểm tôi đến tài liệu chính thức cho expr chức năng
  • chỉ cho tôi nơi để tìm thấy nó trong các tập tin nguồn (Tôi đã nhìn - không thể thấy nó)
  • hoặc gợi ý cú pháp thay thế dựa trên một kỹ thuật mà là tài liệu đúng

tôi đã nhìn jQuery.filter nhưng không thể tìm ra một sự thay thế với kỹ thuật của Lupton trong kịch bản ajaxify.

Tôi muốn làm việc với jQuery gần đây. Tôi đang làm việc với phiên bản 1.8.2 và sẽ sớm nâng cấp lên 1.9.x.

Trả lời

17

Đó là một phần của Sizzle là công cụ chọn mà jQuery sử dụng.

Bây giờ họ có tài liệu giải thích việc sử dụng của nó với các ví dụ cho trước và sau 1.8.x: https://github.com/jquery/sizzle/wiki/Sizzle-Documentation#-pseudo-selectors

+0

Cảm ơn để làm rõ nó đến từ đâu. Tôi đã thực sự nhìn thấy các tài liệu cho Sizzle.selectors.createPseudo, nơi họ đưa ra một ví dụ jQuery được giới thiệu với "Trong jQuery, điều này sẽ tương đương với ...". Các tài liệu sizzle sử dụng cú pháp, ngụ ý rằng cú pháp jQuery của nó là mạnh mẽ. Do đó sự nhầm lẫn của tôi. Tài liệu jQuery không đề cập đến nó như xa như tôi có thể nói. – DavidHyogo

+2

Chỉ cần tìm thấy kết nối giữa jQuery, Sizzle và cú pháp lạ này: https://github.com/jquery/jquery/blob/master/src/sizzle-jquery.js dòng 4 và 5. Cảm ơn bạn đã chỉ cho tôi đúng hướng Bob. 'jQuery.expr = Sizzle.selectors;' và 'jQuery.expr [": "] = jQuery.expr.pseudos;' – DavidHyogo

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