Javascript style.display=";无”;在IE中不工作,但在其他浏览器中工作

Javascript style.display=";无”;在IE中不工作,但在其他浏览器中工作,javascript,css,Javascript,Css,我有一个下拉列表。若我在下拉列表中选择了选项值,那个么该选项将被隐藏。我附上我的代码作为参考。这在crome中运行良好,但在IE-10中不起作用。 建议在JavaScript中使用,这将很有帮助 我也尝试过可见性属性。但也不起作用 功能下拉列表(dd){ document.getElementById('mySelect')。选项[1]。style.display=“无”; } 1. 2. 3. 4. 5. 对于表单元素的样式,不同的浏览器有不同的支持级别。由于IE不再被开发,最近的更新是几

我有一个下拉列表。若我在下拉列表中选择了选项值,那个么该选项将被隐藏。我附上我的代码作为参考。这在crome中运行良好,但在IE-10中不起作用。 建议在JavaScript中使用,这将很有帮助

我也尝试过可见性属性。但也不起作用

功能下拉列表(dd){
document.getElementById('mySelect')。选项[1]。style.display=“无”;
}

1.
2.
3.
4.
5.

对于表单元素的样式,不同的浏览器有不同的支持级别。由于IE不再被开发,最近的更新是几年前的事,你会发现一些行为在那里根本不起作用,也永远不会起作用

现在,您的代码在支持这种样式的
选项
浏览器中工作,它总是将第二个
选项
元素设置为隐藏,因为您正在硬编码
1
作为索引。相反,将
select
的索引设置为不可见,以便始终获取当前选择的
选项的索引。而且,这将在随后显示列表时隐藏最后选择的选项,但是
select
仍将显示该值,因此您还必须删除该值

document.getElementById(“mySelect”).addEventListener(“更改”,下拉菜单);
函数下拉列表(){
this.options[this.selectedIndex].style.visibility=“hidden”//在列表中隐藏
this.value=”“;//隐藏新值
}

1.
2.
3.
4.
5.

这是另一种方式

<form>
  <select id="mySelect" onchange="dropdown(this)">
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select>
</form>

1.
2.
3.
4.
5.

功能下拉列表(dd){
var a=document.getElementById('mySelect');
a、 删除(a.选择的索引);
}

如果只想在更改时隐藏,则在再次更改数据时再隐藏一次

你可以试试

<form>
  <select id="mySelect" onchange="dropdown(this)">
    <option>--Select</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select>
</form>

--挑选
1.
2.
3.
4.
5.

var mySelect=[];
功能下拉列表(dd){
var mySelect1=document.getElementById('mySelect');
if(mySelect.text!==未定义&&mySelect.index!==''){
添加(新选项(mySelect.text、mySelect.index)、mySelect1.options[mySelect.index]);
}
var selectedText=mySelect1.options[mySelect1.selectedIndex].text;
mySelect.text=selectedText;
mySelect.index=mySelect1.selectedIndex;
mySelect1.remove(mySelect1.selectedIndex);
}

请在发布之前格式化您的代码。滚动和理解代码对齐有点困难。您如何知道它不起作用?顺便说一句,该代码不会在firefox
文档中隐藏任何内容。getElementById('mySelect')。选项[1]。setAttribute('hidden','hidden')将隐藏第二个选项,但为什么?您还应该能够解释为什么OPs问题是有效的。由于理解目的,这与硬编码的原始代码没有任何不同。。但是,隐藏并不能在任何情况下起作用IE@JaromandaX你需要再看看OP的代码和我的代码。我的意思是,在隐藏任何东西方面,它并没有在Firefox中隐藏任何东西,我只需要隐藏。没有删除选项功能下拉列表(dd)中的dd是什么?Vijay Bharadwai使用了这个关键字,所以我按照他的代码修改了确切的更改,vishwaVijay我发布了答案,请检查它不是永久删除。您可以检查并让我知道这是否是您的期望
<form>
  <select id="mySelect" onchange="dropdown(this)">
    <option>--Select</option>
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
  </select>
</form>
<script>
var mySelect = [];
function dropdown(dd) {
  var mySelect1 = document.getElementById('mySelect');
  if(mySelect.text !== undefined && mySelect.index !== '') {
    mySelect1.options.add(new Option(mySelect.text, mySelect.index), mySelect1.options[mySelect.index]);
  }

  var selectedText = mySelect1.options[mySelect1.selectedIndex].text;

  mySelect.text = selectedText;
  mySelect.index = mySelect1.selectedIndex;
  mySelect1.remove(mySelect1.selectedIndex);
}
</script>