我有一个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和Chrome7.0中运行良好。然而,在Opera10.63中,我第一次检查头单元格时,所有八行都会被检查。随后,代码按预期工作。
警报语句证实了这一点,除了第一个,每次都显示“3”。
这是歌剧虫吗?如果有,是否有解决办法?