2011-01-24 22 views
5

Tôi đang làm một chút refactoring trên một số logic và tôi đã xem qua đoạn mã này và tôi vẫn cố gắng để hiểu nóBộ chọn jQuery này là gì: a [@ rel * = lightbox]?

try { 
    $('a[@rel*=lightbox]').lightBox(); 
    } catch (e) {} 

tôi hiểu được một phần cố gắng nắm bắt nhưng phần này

('a[@rel*=lightbox]') 
là gì
+0

Bạn * có thể * muốn sử dụng '$ ('a [rel ~ = lightbox]'). LightBox();' thay vì '~ =' tìm kiếm toàn bộ từ 'lightbox' thay vì' * = ' , mà chỉ tìm thấy một chuỗi con, ví dụ "notalightbox" sẽ được bao gồm trong phương thức '* ='. –

Trả lời

12

Đó là cách XPath cũ để nói tìm neo bằng lightbox trong thuộc tính rel của chúng. Vì vậy, nó sẽ phù hợp với một neo như ví dụ dưới đây ...

<a href="http://example.com/image.jpg" alt="image" rel="external me lightbox">Link</a> 

Nó đã không được chấp nhận và loại bỏ khỏi các phiên bản mới của jQuery. Để có được nó để làm việc với các phiên bản mới nhất, chỉ việc kéo thả @:

$('a[rel*=lightbox]') 
0

Nó sẽ chọn tất cả các liên kết có chứa hộp đèn trong thuộc tính rel

0

Tìm kiếm liên kết trên trang có liên kết trang web để khởi chạy cửa sổ hộp đèn.

1

Có cách tốt hơn để viết bộ chọn này.

$('img[rel="lightbox"]') 

Điều này sẽ chọn bất kỳ thẻ hình ảnh nào có quan hệ "hộp đèn". Bạn không cần phải làm một tuyên bố thử, nếu bạn đã bao gồm chính xác tất cả các kịch bản của bạn nó sẽ làm việc tốt.

+1

Nhưng nó không khớp với rel = "external lightbox" như trong câu trả lời @alex. – jcubic

+0

Sau đó, bạn chỉ có thể sử dụng * = như vậy: $ ('img [rel * = "lightbox"]') – Mitch

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