2010-07-19 2 views

Répondre

2

Vous avez raison de dire que la sélection d'un élément avec un sélecteur jQuery fonctionnera même dans les navigateurs qui ne supportent pas ce sélecteur en CSS. Toutefois, vous pouvez appliquer un style avec un sélecteur CSS3, puis sélectionner un élément avec jQuery pour déterminer si ce style a été appliqué.

Par exemple, dans CSS:

#myid > p { 
    display: none; 
} 

puis dans jQuery:

if ($('#myid > p').css('display') != 'none') { 
// blah 
} 

être prudent, car Cependant .css() ne peut pas revenir ce que vous attendez. Par exemple, si vous appliquez une couleur comme 'rouge', cela retournera rgb(255, 0, 0). Désolé, je sais que ce n'est pas aussi parfait d'une solution que Modernizr, mais j'espère que cela vous aide dans votre situation.

+0

Merci pour la solution. – fatihturan

0

Vous pouvez essayer de choisir quelque chose avec ce sélecteur, si elle retourne « NULL » soit le navigateur ne supporte pas, ou il n'y avait aucun élément de ce type

ma suggestion est d'utiliser les sélecteurs sur quelque chose que vous savez existe.

+0

Mais le moteur de sélection de jQuery est différent du moteur de sélection de navigateur habituel. Comment ça pourrait être? Pouvez-vous donner un exemple? – fatihturan

+0

Différent? Comment? – Hailwood

+1

Si j'ai raison, jQuery utilise le moteur de sélection Sizzle pour sélectionner les éléments. Si j'essaie de sélectionner quelque chose comme ceci: $ ('ul # f00 li: nth-de-type (impair)') il retournera l'objet sur chaque navigateur (même IE6). Ai-je raison? – fatihturan