Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅在单击标记时选择optgroup的子级_Javascript_Jquery_Jquery Selectors_Optgroup - Fatal编程技术网

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
属性,因此给出了我所需要的,再次感谢!