【问题标题】:Remove OPTION in a SELECT without a CSS class在没有 CSS 类的 SELECT 中删除 OPTION
【发布时间】:2013-08-14 01:01:28
【问题描述】:

问题:

我想删除选择框中没有特定 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>

所以我希望删除这些选项二、三、五和七。

我可以计算所有选项:

alert('Options Count: ' + $('#MySelect option').length);

类的选项:

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

但我不确定如何删除那些没有类的。我知道有一个非常简单的解决方案,但我想不出一个简洁的方法来做到这一点。

感谢大家的帮助。

【问题讨论】:

    标签: javascript jquery jquery-ui option html-select


    【解决方案1】:

    试试

    $('#MySelect option').not('.MyClass').remove()
    

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

    $('#MySelect option:not(.MyClass)').remove()
    

    【讨论】:

    • 感谢您快速正确的回答。两种选择都有效。我会选择第一个,因为它看起来更合乎逻辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 2012-02-23
    • 2018-08-31
    • 2023-03-10
    • 2014-05-26
    相关资源
    最近更新 更多