У меня есть таблица HTML, в которой ячейки первого столбца содержат флажок с классом «myClass». Я также установил флажок в ячейке заголовка этого столбца, и я хочу, чтобы он работал так, чтобы при проверке или снятии флажка с ячейки заголовка также устанавливались или снимались все флажки строк. У меня есть этот код в обработчике кликов флажка заголовка:
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');
}
Три строки имеют включенные флажки и пять отключенных.
Код отлично работает в IE8, FF3.6 и Chrome 7.0. Однако в Opera 10.63 при первой проверке ячейки заголовка проверяются все восемь строк. Впоследствии код работает как положено.
Предупреждающие сообщения подтверждают это, показывая «3» каждый раз, кроме первого.
Это ошибка в Opera? Если так, есть ли обходной путь?