我有以下标记:
<span class="checkbox group_delivery checkbox_checked">1</span>
<span class="checkbox group_delivery">2</span>
<span class="checkbox group_delivery">3</span>
我尝试检查checkbox
中group_delivery
内是否至少有一个checked
。
所以我查找了一个包含group_delivery
和checkbox_checked
类的标记。
我已尝试过以下几项:
$('.checkbox_checked', $('.group_delivery')) - 0 results
$('.group_delivery').find('.checkbox_checked') - 0 results
但如果我使用$('.group_delivery')
遍历.each
对象,我可以找到所需的范围:
$('.group_delivery').each(function(i,o) {
if ($(o).hasClass('checkbox_checked')) {
console.log('Found in each loop');
}
});
您可以在此Fiddle中查看。
答案 0 :(得分:4)
.find
(以及$(selector, parent)
表单)会查找后代,即它会在 {{}内查找.checkbox_checked
元素 1}}元素。
但是,您希望找到具有两个类的元素:
.group_delivery
或者您可以使用.filter
:
$('.group_delivery.checkbox_checked')
但如果我使用
$('.group_delivery').filter('.checkbox_checked')
遍历$('.group_delivery')
对象,我可以找到所需的范围:
因为.each
检查元素本身是否具有此类。