javascript - 无法使用 getElementsByName() 在 IE 中切换表格行的显示

标签 javascript html dhtml

我想根据选择框的值显示和隐藏表格的行,这在 Firefox 中有效,但在 IE 中无效:

<select onChange="javascript: toggle(this.value);">
 <option value="cat0">category 0</option>
 <option value="cat1">category 1</option>
</select>

<table>
<tr name="cat0">
  <td>some stuff v</td>
  <td>some stuff v</td>
</tr>
<tr name="cat0">
  <td>some stuff d</td>
  <td>some stuff d</td>
</tr>
<tr name="cat1">
  <td>some stuff a</td>
  <td>some stuff a</td>
</tr>
<tr name="cat1">
  <td>some stuff b</td>
  <td>some stuff b</td>
</tr>
</table>
<script type="text/javascript">
function toggle(category)
{
    // turn everything off
    for (var i = 0; i < 2; i++)
    {
        var cat = document.getElementsByName('cat' + i);
        for (var j = 0; j < cat.length; j++)
            cat[j].style.display = 'none';
    }

    // turn on category chosen
    var cat = document.getElementsByName(category);
    for (var i = 0; i < cat.length; i++)
        cat[i].style.display = '';
}
// start by showing cat0
toggle('cat0');
</script>

最佳答案

IE 不允许您使用 document.getElementsByName 方法访问表格行。如果您使用 ID 而不是名称,它将起作用。请参阅此页面以获取符合您要求的代码:http://www.toolazy.me.uk/template.php?content=getelementsbyname.xml

关于javascript - 无法使用 getElementsByName() 在 IE 中切换表格行的显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2861341/

相关文章:

html - CSS使背景图像即使在不同的浏览器尺寸下也能保持原位

javascript - 使用 AJAX 读取简单的文本文件。打开函数时出现访问被拒绝错误

javascript - 使用 React 获取数组中的下一个/上一个项目

javascript - window.open() 和目标 ="_blank"在 IE 中不能一起工作

javascript - Angular JS 中的数组长度

javascript - 在 Polymer 1.0 中使用纸张按钮事件无法访问数据属性

javascript - 如何为对话创建背景?

html - 向左插入元素将无法正常工作

javascript - 是javascript调用的是否区分大小写的html控件的ID

javascript - 是否可以/推荐发送包含 Javascript 的 HTML 电子邮件?