2013-04-26 6 views
-1

Je vois ce qui suit dans http://www.w3.org/TR/selectors/#selectors, mais je ne pouvais pas le comprendre correctement. Qu'Est-ce que c'est?Quelle est la différence entre ces sélecteurs?

E + F an F element immediately preceded by an E element 
E > F an F element child of an E element 
+1

vous avez déjà les explications dans votre question – musefan

+1

@musefan - Oui, mais la question dit qu'il ne comprend pas ces explications. – Quentin

+1

Voici un violon afin que vous puissiez mieux comprendre: http://jsfiddle.net/vtH4U/ – Brewal

Répondre

1
  • Le sélecteur adjacent E + F:

Ceci permet de sélectionner un élément qui est Fà côté de l'élémentE, au même niveau d'imbrication. Par exemple:

.a + .b { background-color:blue; } 

    <div class='a'>.....</div> 
    <div class='b'>This will be blue, because it is next to the 'a' element.</div> 

Note: Il est à ne pas confondre avec le sélecteur de frères et soeurs, E ~ F. Les deux s'appliquent aux éléments qui sont au même niveau d'imbrication dans le document, mais + signifie spécifiquement qu'ils doivent être l'un à côté de l'autre, tandis que ~ est un élément frère, donc pour ~ il pourrait y avoir un autre élément entre a et b, et il serait fonctionne toujours, mais pas pour +.

  • Le sélecteur d'enfant E > F:

Ceci permet de sélectionner un élément qui est Fintérieur l'élément E, soit un niveau d'imbrication plus profonde. Par exemple:

.c > .d { background-color:red; } 

    <div class='c'> 
     <div class='d'>This will be red, because it is immediately inside the 'c' element.</div> 
    </div> 

Note: il est à ne pas confondre avec le sélecteur descendant, E F, qui se penche également sur des éléments imbriquées les unes dans les autres, mais il peut appliquer à tout niveau d'imbrication. Donc, pour le .c .d, il pourrait y avoir plus d'éléments imbriqués entre c et d, et cela fonctionnerait encore, mais pas pour .c > .d.

J'espère que cela clarifie les choses pour vous.

+0

Vous voulez dire si nous appliquons e + f dans . Le premier élément sélectionne. – luxi

+0

@ user2253835 - Oui. Exactement. Le '+ 'ne sélectionnerait pas le deuxième élément' f'. (Si vous voulez sélectionner les deux, vous pouvez utiliser '~' à la place) – Spudley

+0

Merci beaucoup. – luxi

1
<e></e><f></f> — an F element immediately preceded by an E element 
<e><f></f></e> — an F element child of an E element 
+0

quel élément sélectionne si e + f est appliqué. – luxi

+0

@ user2253835 - Celui qui a la même description (mot à mot) que la définition '+' de la question! – Quentin

+0

Je veux dire que si on applique e + f, on sélectionne e ou f? – luxi

1
<div> 
    <span id="A"></span> 
</div> 
<div id="B"></div> 

E + F correspond à la <div> avec id B.

E > F correspond au <span> avec l'ID A. Par conséquent, la différence est que l'élément F est un frère ou une sœur ou un enfant de l'élément E.

Questions connexes