gpt4 book ai didi

javascript - jQuery 在 Opera 中找不到一致的禁用元素

转载 作者:行者123 更新时间:2023-12-02 20:30:38 25 4
gpt4 key购买 nike

我有一个 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 错误吗?如果是这样,有解决方法吗?

最佳答案

奇怪的同步性 - 我刚刚分析了一个错误报告,我认为几个小时前是同样的问题:)

是的,这可能是一个错误,Opera 无法对在 DOM 中创建并随后插入到文档中的元素应用正确启用的伪类。

使用类名而不是 :enabled 可能是一种可接受的解决方法。或者在 onload 中的所有复选框上反转 .checked 属性两次,也许?听起来来回切换禁用或检查状态将使 Opera 处理这个问题。

关于javascript - jQuery 在 Opera 中找不到一致的禁用元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4196254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com