Javascript:访问父元素时未定义

标签 javascript html dom

我是 JS 新手,无法弄清楚为什么我的代码返回未定义(它正在分配var table值的函数中重新调整。可能是什么错了?

  function showTableAndHideOther(tableCl) {
            var thisTable = document.getElementsByClassName(tableCl);
            var parentEl = thisTable.parentElement;
            var tables = parentEl.getElementsByClassName("warningtable");
            for (var i = 0; i < tables.length; i++) {
                tables[i].style.display = "none";
            }
            thisTable[0].style.display = "";
          }

HTML 是:

 <div class="expandwarnings" style="display:none">
        <div id="BtnContainer"><button class="btn active" onclick="">Other test</button><button class="btn" onclick="showTableAndHideOther('test')">Filtering test</button></div>
        <table class="warningtable test" style="display:none">
            <tr>
                <td>test</td>
                <td>test</td>
            </tr>

最佳答案

所以你无法通过以下代码获取元素warningtable test

var tables = parentEl.getElementsByClassName("warningtable");

修改为

var tables = document.getElementsByClassName("warningtable")[0];

关于Javascript:访问父元素时未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58062814/

相关文章:

java - 如何在 Selenium WebDriver 的属性文件中使用多行属性?

javascript - 如何显示隐藏表格

javascript - 无法动态显示所有行

javascript - 如何判断函数是否是在已关闭或重新加载的窗口中定义的?

javascript - 在javascript中将innerHTML字符串转换为DOM结构

javascript - Firefox 和 Internet Explorer 中的全窗口 onClick 处理程序

javascript - 如何在某些设备宽度以下禁用 JQuery?

javascript - 从 JSON 文件创建 'each hashtags' 的 href 链接

Javascript "document.getElementById"通配符循环?

jquery - 使用 jQuery 获取数据列表中的选定值