$('.Schedule .Full input').each(function(i)
{
var controls = $('.Morning input, .MorningPart input, .Afternoon input, .AfternoonPart input', $(this).parents('.Schedule'));
alert(controls.length + " Conflicting Controls\n"+
$(this).parents('.Schedule').attr('id') + " Parent");
});
Lorsque j'exécute ce code dans Firefox, la première exécution de cette fonction produit une boîte d'alerte indiquant ce qui suit :
17 Contrôles contradictoires
Lundi Parent
La même page exécutée dans IE 6 ou 7 produit une boîte d'alerte indiquant ce qui suit :
45 Contrôles contradictoires
Lundi Parent
Firefox a raison, il n'y a que 17 contrôles en conflit. Les 45 qu'IE identifie sont des contrôles qui ne sont pas des descendants de "Monday". Si j'ai spécifié "Lundi" comme contexte pour la fonction $(), pourquoi IE renvoie-t-il des contrôles en dehors de ce contexte ?