-2

我正在尝试使用 JavaScript 隐藏下拉菜单。以下代码我已经在 Firefox 和 Chrome 中工作,但在 IE 8 中测试它不起作用。

<select name="month" id="month" onchange="monthselector_changed(this)">
  <option  value="1">
        Jan</option>
  <option  value="2">
        Feb</option>
  <option  value="3">
        Mar</option>
  <option  value="4">
        Apr</option>
  <option  value="5">
        May</option>
  <option  value="6">
        Jun</option>
  <option  value="7">
        Jul</option>
  <option  value="8">
        Aug</option>
  <option  value="9">
        Sep</option>
  <option  value="10">
        Oct</option>
  <option selected value="11">
        Nov</option>
  <option  value="12">
        Dec</option>
  </select>

然后我使用以下代码隐藏它

document.getElementById("month").style.display = 'none';

只是为了澄清,我试图隐藏整个选择框而不是一个选项。

4

1 回答 1

1

$在 ID 字段中无效,因此这可能会弄乱 IE,而其他浏览器对规则更加“放松”。

有关详细信息,请参阅此线程: DOM ID 中允许使用哪些字符?

编辑:我看到你正在传递this一个函数调用。您可以使用this在没有 ID 的情况下进行切换。例如:

http://jsbin.com/acisof/1/edit

function monthselector_changed(elem)
{
    elem.style.display = 'none';
}
于 2012-11-13T20:58:40.570 回答