jQuery将特定的选择列表选项移到底部

gen*_*ion 2 jquery dom-manipulation

我有以下标记: -

<select name="a" id="a">
    <option>Option 1</option>
    <option>Option Bottom</option>
    <option>Option 2</option>
    <option>Option 3</option>
    <optgroup label="Test">
       <option>Option A</option>
       <option>Option B</option>
    </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

使用jQuery我希望将选项移动Option Bottom到列表的底部.但<optgroup>必须保持在最底层.

所以标记需要这样读: -

<select name="a" id="a">
    <option>Option 1</option>
    <option>Option 2</option>
    <option>Option 3</option>
    <option>Option Bottom</option>
    <optgroup label="Test">
       <option>Option A</option>
       <option>Option B</option>
    </optgroup>
</select>
Run Code Online (Sandbox Code Playgroud)

我可以<optgroup>通过使用 获得不包括的选项$options = $('#a').children('option');

我如何获取该Option Bottom选项,如何将其移至列表底部?

gdo*_*ica 5

$('#a > option').filter(function() {
    return this.innerHTML == "Option Bottom";
}).insertBefore($('#a  optgroup'));?
Run Code Online (Sandbox Code Playgroud)

现场演示

  • <booom> ++ 1 innit!`:)` (2认同)