在没有CSS类的SELECT中删除OPTION

Far*_*han 2 javascript jquery html-select jquery-ui option

题:

我想删除没有特定CSS类的选择框中的选项.

技能等级

我还在学习jQuery,也许会做很长时间.

概要:

我有一个选择框:

<select id="MySelect">
    <option class="MyClass" value="one">one</option>
    <option value="two">two</option>
    <option value="three">three</option>
    <option class="MyClass" value="four">four</option>
    <option value="five">five</option>
    <option class="MyClass" value="six">six</option>
    <option value="seven">seven</option>
</select>
Run Code Online (Sandbox Code Playgroud)

所以我希望删除这些选项2,3,5和7.

我可以计算所有选项:

alert('Options Count: ' + $('#MySelect option').length);
Run Code Online (Sandbox Code Playgroud)

和班级的选项:

alert('Options with class: ' + $('.MyClass').length);
// I think this will search the entire file for elements with this class. Is this so?
Run Code Online (Sandbox Code Playgroud)

但我不知道如何删除那些没有课程的人.我知道有一个非常简单的解决方案,但我无法想出一个简洁的方法来做到这一点.

谢谢你的帮助.

Poi*_*nty 5

尝试

$('#MySelect option').not('.MyClass').remove()
Run Code Online (Sandbox Code Playgroud)

您也可以将"not"测试放在选择器中,但这通常较慢(尽管它可能没有实际区别):

$('#MySelect option:not(.MyClass)').remove()
Run Code Online (Sandbox Code Playgroud)