删除两个选项

时间:2013-08-21 07:44:04

标签: javascript jquery html

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之外的值的所有元素。此代码仅保留值为1的元素。我需要添加什么:不使用jQuery删除1和3以外的所有选项?

jsfiddle

3 个答案:

答案 0 :(得分:3)

使用:

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

Fiddle

请参阅multiple selectormultiple attribute selector

答案 1 :(得分:2)

这就是你需要的:

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

jsfiddle

答案 2 :(得分:2)

试试这段代码:

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

<强> FIDDLE

修改:查看 Vishal Suthar A. V 以另一种非常相似的方式回答。