Javascript 仅在单击标记时选择optgroup的子级
我试图使用Javascript 仅在单击标记时选择optgroup的子级,javascript,jquery,jquery-selectors,optgroup,Javascript,Jquery,Jquery Selectors,Optgroup,我试图使用optgroup标签来选择组中的所有选项 这很好,但是,当我同时选择一个组时,它会选择所有optgroup元素。如何使选择仅基于optgroup标记 $(文档).ready(函数(){ $(“optgroup”)。在(“单击”,函数()上{ $(this).children(“option”).prop(“selected”,true); }); }); 选择1 选择2 选择1 选择2 检查元素的标记名,因为它将冒泡。。循环遍历每个选项,仅检查未选中的选项 $(文档).ready
optgroup
标签来选择组中的所有选项
这很好,但是,当我同时选择一个组
时,它会选择所有optgroup
元素。如何使选择仅基于optgroup
标记
$(文档).ready(函数(){
$(“optgroup”)。在(“单击”,函数()上{
$(this).children(“option”).prop(“selected”,true);
});
});代码>
选择1
选择2
选择1
选择2
检查元素的标记名,因为它将冒泡。。循环遍历每个选项,仅检查未选中的选项
$(文档).ready(函数(){
$(“optgroup”)。在(“单击”上,函数(e){
如果(e.target.tagName==='OPTGROUP'){
$(this).children(“选项”).each(function(){
this.selected=!this.selected;
});
}
});
});代码>
选择1
选择2
选择1
选择2
它实际上是根据您所描述的内容工作的:如果元素已经被选中,我还需要它来取消选择它们。
您的编辑与该声明相矛盾。我想您误解了我先前的声明(它没有任何贬损),但是是的。。。语义学。。。你确实回答了我的问题,这就是为什么我接受了答案。。。然而,现实地切换所选项目(即使我在第一个注释中看到了措辞冲突)似乎适得其反,因为从视觉角度看,它似乎会以半意外的行为作出响应。。。无论哪种方式,这都是一个很好的答案,并且由于您提到了.tagName
属性,因此给出了我所需要的,再次感谢!