如何在select中查找和删除optgroup和选项?

时间:2015-11-13 14:58:31

标签: javascript jquery

我选择了这个结构:

<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,我如何一步删除optionoptgroup

3 个答案:

答案 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()

由于optgroupoption的父级,因此它也会将其删除。

答案 2 :(得分:0)

像这样:

$('#select-service')
.find('optgroup')
.remove();

这不仅会删除您的optgroup,还会删除其中的所有内容,这意味着您的选项也会被删除。