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-test1 と 3 以外の値を持つすべての要素を削除したいと思います。このコードは、値を持つ要素のみを保持します1。:not with jQuery で 1 と 3 以外のすべてのオプションを削除するには、何を追加する必要がありますか?

jsfiddle

4

3 に答える 3

2

これはあなたが必要とするものです:

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

jsfiddle

于 2013-08-21T07:50:33.860 に答える
2

このコードを試してください:

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

FIDDLE

編集:非常によく似た別の方法については、 Vishal SutharA. Vの回答を確認してください。

于 2013-08-21T07:51:04.237 に答える