如何以最佳和快速的方式隐藏JavaScript不需要的选项

如何以最佳和快速的方式隐藏JavaScript不需要的选项,javascript,jquery,html,Javascript,Jquery,Html,我有几个HTML选择选项,我想在需要时隐藏和显示,例如我的HTML: <select> <option value="0">A</option> <option value="1">B</option> <option value="2">C</option> <option value="3">D</option> <option value="4">E</option

我有几个HTML选择选项,我想在需要时隐藏和显示,例如我的HTML:

<select>
<option value="0">A</option>
<option value="1">B</option>
<option value="2">C</option>
<option value="3">D</option>
<option value="4">E</option>
<option value="5">F</option>
<option value="6">G</option>
<option value="7">H</option>
</select>

A.
B
C
D
E
F
G
H
现在我只想显示选项E并隐藏其他选项。但在另一种情况下,也许我想展示所有。我知道在JavaScript中,我们可以通过它们的值隐藏一个选项。但我想知道它们是否也是根据性能隐藏和显示它的最佳方式(使用Javascript


谢谢。

您有隐藏属性

var myselectoptions=document.getElementById(“myselect”).options;
函数隐藏选项(optionObject、OptionHide){
用于(索引=0;索引

挑选
A.
B
C
D
E
F
G
H

您可以使用
.hide()
函数进行隐藏

jQuery('select').children('option[value=“4”]).hide()

A.
B
C
D
E
F
G
H

您可以用这种方法试试,效果很好:

$('#btnE')。单击(函数(){
$(“#选择选项”).show();
$(“#选择选项[value!=4]”)。隐藏();
});
$('#btnB')。单击(函数(){
$(“#选择选项”).show();
$(“#选择选项[value!=1]”)。隐藏();
});
$('#btnAll')。单击(函数(){
$(“#选择选项”).show();
});

挑选
A.
B
C
D
E
F
G
H



更具体地说,select元素将在所有select列表上工作,并可能导致错误,因此请使用$(“select:class”)等。

如何使用Javascript实现这一点?@Michael这有帮助吗?这只是一个例子。请以正式的方式选择选项,因为此代码将为您提供页面上的所有选项。IEop[4]上不支持“隐藏”属性意味着选项E,对吗?如果我想隐藏一个选项,我只需要将代码更改为op[0]?@Michael right,它会按照选项在Html代码中出现的顺序为您提供一个选项数组。只需给这个“选择”选项一个id,然后使用该id选择选项,就可以在您的阵列中只获得这些选项。这些答案中有一个提到了性能;有人读过这个问题吗?OP表示已经知道如何使用JS。@Adam任何认真对待性能的人都会知道,对于如此少的元素来说,没有明显的区别。请告诉我们您将如何(在什么条件下)决定显示哪些元素,哪些不显示。
//for hiding only single option from the select
$('select').children('option[value="1"]').hide();

//for showing only one option from the select
$('select').children('option').hide(); 

$('select').children('option[value="1"]').show();