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 に答える