2010-04-10 30 views
54

Tôi biết rằng để lọc một phần tử với một atttribute gọi attrName trong đó có giá trị attrValue tôi làm:jQuery: Chọn tất cả các yếu tố trong đó thuộc tính là lớn hơn một giá trị

filter("[attrName='attrValue']") 

nhưng nhìn vào tài liệu http://api.jquery.com/category/selectors/ Tôi có thể' t xem tùy chọn để chọn tất cả các phần tử st attrName> attrValue

Sẽ làm việc này

filter("[attrName>'attrValue']") 
+0

Nếu bạn đang tìm kiếm các phần tử có thuộc tính lớn hơn 0, bạn có thể sử dụng '[attribute! = 0]' –

Trả lời

85

Bạn có thể làm điều này bằng cách sử dụng chức năng quá tải của .filter(), như thế này:

.filter(function() { 
    return $(this).attr("attrName") > "someValue"; 
}) 
22

Giải pháp là jQuery.filter():

$("selector").filter(function() { 
    return $(this).attr("my-attr") > 123; 
}); 
7

Hãy cẩn thận, nếu bạn đang chơi với số nguyên chắc chắn rằng bạn đang sử dụng parseInt().

$("selector").filter(function() { 
    return parseInt($(this).attr("my-attr")) > 123; 
}); 
Các vấn đề liên quan