jQuery子选择器无法找到DOM对象:查找选中的group_delivery复选框失败
解决方法:正确选择同时拥有两个类的元素
嘿,看起来你搞混了选择器的用法啦!你的问题在于,group_delivery和checkbox_checked是同一个元素上的类,而不是父元素和子元素的关系,所以之前的写法都在找子元素里的目标类,自然找不到结果。
正确的选择器写法
直接把两个类名连在一起(中间没有空格),就能匹配同时拥有这两个类的元素:
$('.group_delivery.checkbox_checked')
这个选择器会精准定位到你的第一个span标签,因为它同时具备group_delivery和checkbox_checked类。
为什么之前的写法不对?
$('.checkbox_checked', $('.group_delivery')):这个写法等价于$('.group_delivery').find('.checkbox_checked'),都是在找.group_delivery元素内部的子元素中带有.checkbox_checked类的元素,但你的目标类和group_delivery是在同一个元素上,所以匹配不到。
验证是否有选中项的完整代码
如果你要判断group_delivery组里是否至少有一个复选框被选中,可以这样写:
// 查找同时拥有两个类的元素 const checkedItems = $('.group_delivery.checkbox_checked'); if (checkedItems.length > 0) { console.log("太棒了!group_delivery组里至少有一个复选框被选中了"); } else { console.log("哎呀,group_delivery组里还没有选中的复选框哦"); }
对应你的HTML结构:
1
2
3
这段代码会检测到第一个span,返回长度1,进入if分支。
内容的提问来源于stack exchange,提问作者Fenistil
相关产品推荐
相关产品推荐

