2010-06-15 19 views
5

Potrzebuję sposobu, aby jQuery zwrócił wszystkie elementy, które mają cssjQuery - Jak wybrać wszystkie elementy o ustalonej rodzinie czcionek?

rodzina czcionek: AvantGardeITCbyBT-Bold, sans-serif;

zastosowane do nich.

Myślę, że jedynym sposobem na zrobienie tego jest zapętlenie wszystkich elementów i sprawdzenie, czy to css jest do niego stosowane. Wydaje się, że to powolny sposób?

Czy można to zrobić za pomocą selektora jQuery?

+0

Dbasz konkretnie o taką String - 'font-family: AvantGardeITCbyBT-Bold, sans-serif;', lub szukasz elementów, które korzystają z tych czcionek, który oznacza element za pomocą "rodzina czcionek" z rodziny: AvantGardeITCbyBT-Bold, sans-serif, Arial' również będzie pasować. – Anurag

+0

Poszukuję dowolnego elementu, który używa czcionki AvantGardeITCbyBT-Bold – Brady

+0

$ ("*"). Each (function() { \t \t if ($ (this) .css ("font-family") == "AvantGardeITCbyBT-Bold bezszeryfową") { \t \t \t $ (tym) .ieffembedfix(); \t \t} \t}); Działa to, ale czy jest lepszy sposób? – Brady

Odpowiedz

3

dobrze, można rozszerzyć selektorów jQuery z

$(document).ready(function(){ 
    $.extend($.expr[':'], { 
    AvantGardel: function(elem){ 
     var $e = $(elem); 
     return(typeof $e.css('font-family') !== 'undefined' && $e.css('font-family') === 'AvantGardeITCbyBT-Bold'); 
    }, 
    SansSerif: function(elem){ 
     var $e = $(elem); 
     return(typeof $e.css('font-family') !== 'undefined' && $e.css('font-family') === 'sans-serif'); 
    } 
});  
}); 

a następnie zadzwonić

$(':AvantGardel').hide(); 

lub

$(':SansSerif').hide(); 

na przykład.

przykład praca: http://jsbin.com/idova3/edit

+0

Nie mogłem tego przekonać. – Brady

+0

http://block.pd.alphaready.com/ niezdolny do uruchomienia twojego kodu ... – Brady

+0

'$ (': AvantGardel')' będzie martwy powoli. – James

Powiązane problemy