jQuery:仅限IE,输入:check,即使选中项目也会返回0

Par*_*and 8 jquery internet-explorer

我看到一个错误,我无法从一小部分用户复制.这是代码:

var selected = $('#mytable input:checked');
if (selected.length == 0) {
    $('body').trigger('notice', 'Please select some items first');
    return;
}
Run Code Online (Sandbox Code Playgroud)

即使用户检查了几个复选框,也会触发"通知".似乎selected.length是不应该的时候为零.


[更新]选择器在更新为时工作:

var selected = $('input[class="selection"]:checked');
Run Code Online (Sandbox Code Playgroud)

它似乎包括选择器中的id打破了东西,只在IE上.


此代码适用于绝大多数用户,我们无法复制该问题,但对于看到问题的用户来说,每次都是一致的.

它似乎被隔离到IE(虽然我不能确定).我们正在使用jQuery 1.3.2(来自谷歌CDN).

有任何想法吗?

kar*_*m79 2

粘贴周围的代码/事件处理程序是个好主意。作为起点,我建议:checkbox在第一行中使用选择器:

$('#mytable input:checkbox:checked')
Run Code Online (Sandbox Code Playgroud)

手册说:

$(':checkbox')相当于 $('*:checkbox'),所以 $('input:checkbox')应该使用。

当然,这可能没有任何区别。:checkbox相当于$('[type=checkbox]'),因此IE可能会因为正在测试状态的所有输入元素的input:checked选择器部分而卡住。checked