En utilisant jQuery 1.4.2 (IE8 en mode de compatibilité)sélecteurs jQuery pas ce que je pensais
Compte tenu de la structure suivante:
<div id='something'>something</div>
<div id='parental'>
<div><p>hi there</p> goats</div>
<p>hello again</p>
</div>
<div> end of the line</div>
et ce code:
var Fred= $('#parental');
$('div').css({color: 'blue'});
Fred.children('div').css({color: 'red'});
Fred.children('div').children('p').css({color:'green',border:'solid red 2px'});
Fred.children('div p').css({color: 'orange'});
Fred.children('div>p').css({border:'solid #FFFF00 2px'});
- " quelque chose "et" la fin de la ligne "sont bleus comme je l'attendrais
- " chèvres "est un rouge Je m'y attendrais.
- "hi there" est vert avec bordure rouge (je m'attendais à ce qu'il soit orange/jaune)
- "hello again" est orange avec une bordure jaune (pas ce à quoi je m'attendais).
Pourquoi le sélecteur Fred.children('div p')
et la Fred.children('div').children('p')
et Fred.children('div>p')
pas sélectionner la même chose?
voir en action ici: http://jsfiddle.net/bxAzN/