0

HTML

<button>remove other than 1 and 3</button>

<br />
<select id="sel">
        <option data-test="1">a</option>
        <option data-test="1">b</option>
        <option data-test="2">c</option>
        <option data-test="2">d</option>
        <option data-test="3">e</option>
        <option data-test="3">f</option>
        <option data-test="3">g</option>
        <option data-test="4">h</option>
        <option data-test="5">i</option>
</select>

JavaScript

$('button').click(function(){
    $('select option:not([data-test=1])').remove();
})

我想删除值data-test不是 1 和 3 的所有元素。此代码仅保留具有 value 的元素1。我必须为 :not with jQuery 添加什么来删除除 1 和 3 之外的所有选项?

jsfiddle

4

3 回答 3

3

利用:

 $('select option:not([data-test=1],[data-test=3])').remove();

小提琴

请参阅多选择器多属性选择器

于 2013-08-21T07:48:36.177 回答
2

试试这个代码:

$('button').click(function(){
    $('select option').not('[data-test=1], [data-test=3]').remove();
});

FIDDLE

编辑:查看Vishal SutharA. V的另一种非常相似的答案。

于 2013-08-21T07:51:04.237 回答
2

这就是你需要的:

$('button').click(function(){
    $('select option:not([data-test=1],[data-test=3])').remove();
})

jsfiddle

于 2013-08-21T07:50:33.860 回答