jQuery反向选择器给出了一个值列表

时间:2011-04-20 21:24:19

标签: jquery jquery-selectors

我需要能够根据列表删除元素。这很容易做到,但我没有看到森林穿过树林。

我想在单个列表中传递多个值。删除不在列表中的元素。

    <select id="productList">
    <option value="CD-6">6 Month CD 10K</option>
    <option value="CD-12">12 Month CD 10K</option>
    <option value="CD-24" selected="selected">24 Month CD 10K</option>
</select>

这是一个静态列表。我想留下让我们说“CD-12,CD-24”并删除CD-6。

$("#productList option:not:contains('CD-12, CD-24')").remove();

不工作,有人有个主意吗?

2 个答案:

答案 0 :(得分:4)

使用contains()不是一个好主意,你应该测试value属性。

$("#productList option:not([value='CD-12']):not([value='CD-24'])").remove()

答案 1 :(得分:1)

$("#productList option:not([value='CD-12'],[value='CD-24'])");

这样可以正常工作并提供所需的输出。只有CD-12和CD-24保留在列表框中。