我选择了这个结构:
<select id="select-service" class="required span4" multiple="">
<optgroup label="Capelli">
<option selected="false" value="14">Colore capelli</option
</optgroup>
<optgroup label="Nessuna categoria">
<option selected="false" value="13">Taglio capelli</option>
<option selected="false" value="15">Mesh</option>
</optgroup>
</select>
现在我的目标是删除select中的所有选项,因此我已经创建了此代码:
$('#select-service')
.find('option')
.remove()
.end();
但问题是此代码只删除了option
而不是optgroup
,我如何一步删除option
和optgroup
?
答案 0 :(得分:2)
您可以简单地将两个以逗号分隔的选择器传递给find()
方法:
$('#select-service').find('optgroup, option').remove();
您也可以删除所有子元素以获得相同的结果:
$('#select-service').children().remove();
// or:
$('#select-service > *').remove();
最简洁的方法是使用.empty()
method:
$('#select-service').empty();
答案 1 :(得分:1)
最简单的方法
$('#select-service optgroup').remove()
由于optgroup
是option
的父级,因此它也会将其删除。
答案 2 :(得分:0)
像这样:
$('#select-service')
.find('optgroup')
.remove();
这不仅会删除您的optgroup,还会删除其中的所有内容,这意味着您的选项也会被删除。