2

我有以下标记:-

<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>

使用 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>

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

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

4

2 回答 2

5
$('#a > option').filter(function() {
    return this.innerHTML == "Option Bottom";
}).insertBefore($('#a  optgroup'));​

现场演示

于 2012-07-02T08:53:17.013 回答
0
$('#a option').each(function() {
    if($(this).text() == 'Option Bottom') {
        $(this).insertBefore('#a optgroup');
    }
}); 
于 2012-07-02T08:57:18.787 回答