J'ai un tableau HTML dans lequel les cellules de la première colonne contiennent chacune une case à cocher avec une classe 'myClass'. J'ai également mis une case à cocher dans la cellule d'en-tête de cette colonne, et je veux qu'elle fonctionne de sorte que cocher ou décocher la cellule d'en-tête place ou désactive toutes les cases à cocher des lignes. J'ai ce code dans le gestionnaire de clic de la case à cocher de l'en-tête:jQuery ne trouve pas les éléments désactivés de manière cohérente dans Opera
if (jQuery(event.target).attr('checked') === true) {
alert(jQuery('td .myClass:enabled').length);
jQuery('td .myClass:enabled').attr('checked', 'checked');
} else {
alert(jQuery('td .myClass:enabled').length);
jQuery('td .myClass:enabled').removeAttr('checked');
}
Trois lignes ont activé les cases à cocher et cinq désactivées.
Le code fonctionne correctement dans IE8, FF3.6 et Chrome 7.0. Cependant, dans Opera 10.63, la première fois que je vérifie la cellule d'en-tête, toutes les huit lignes sont vérifiées. Par la suite le code fonctionne comme prévu. Les instructions d'alerte confirment cela, en montrant '3' à chaque fois sauf le premier.
Est-ce un bug d'Opera? Si oui, y a-t-il une solution?
page d'exemple dont nous avons besoin http://www.jsbin.com – galambalazs