2010-04-10 11 views
54

wiem, że do filtrowania elementu z atttribute zwanego attrName który ma wartość attrValue zrobić:jQuery: Wybieranie wszystkich elementów gdzie atrybut jest większa niż wartość

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

ale patrząc na docs http://api.jquery.com/category/selectors/ mogę” t zobaczyć opcję wyboru wszystkich elementów st attrName> attrValue

Będzie to działać

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

Jeśli szukasz elementów o atrybutach większych od zera, możesz użyć '[atrybut! = 0]' –

Odpowiedz

85

Można to zrobić przy użyciu przeciążenie funkcji .filter(), tak:

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

Rozwiązaniem jest jQuery.filter():

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

Bądź ostrożny, jeśli grasz z liczbami całkowitymi, upewnij się, że jesteś przy użyciu parseInt().

$("selector").filter(function() { 
    return parseInt($(this).attr("my-attr")) > 123; 
}); 
Powiązane problemy