我不确定这是一个错误还是只是 jQuery 1.3 中我不知道的一些疯狂的新事物,或者我只是发疯了。
我有一个包含 11 个复选框的表格,我无法使用 jQuery 1.3 将它们全部选中:
// jQuery 1.2.6
$(".myTable").find(":checkbox"); // finds 11 elements
// jQuery 1.3
$(".myTable").find(":checkbox"); // finds 1 element: the first checkbox
$(":checkbox", $(".myTable")); // finds 1 element
$('.myTable :checkbox')); // finds all 11 elements
如果我使用结果是一样的.find('*')
:它只选择 1.3 中的第一个元素,所以它不是:checkbox
.
在我自己的页面上,我每次都可以重新创建它,但是当我将(看似)相关的部分粘贴到 JSBin 中时,它就可以工作了!
原始页面也包含 Mootools,但我对范围界定非常小心,jQ 1.2.6 没有任何问题,所以我认为不可能是这样。还有其他想法吗?
在任何人说之前,在这种情况下使用该.find()
函数比组合选择器 ( ) 方便得多".myTable :checkbox"
,并且将我的所有代码更改为该样式不是一种选择!