一尘不染

style.display ='none'不适用于chrome中的选项标签,但适用于Firefox

javascript

好的,这是一些演示此问题的示例代码。如果我单击Firefox中的按钮,第一个选项将消失。如果单击chrome中的按钮,则什么也没有发生,或者如果我检查第一个选项,它确实具有属性“
style =’display:none’”,但html页面上的选项本身未隐藏。

<form>
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<input type="button" onclick="document.getElementsByTagName('option')[0].style.display='none'" value="hide option 1">
</form>

为什么在chrome中不起作用?


阅读 720

收藏
2020-05-01

共1个答案

一尘不染

解决方法是删除option元素以响应您的事件,并在需要时以及在需要时将其重新添加。IIRC,IE将不允许您displaynoneon
option元素设置为。我建议将删除的元素存储在数组中,以便您可以轻松地将它们重新添加回去。

2020-05-01