有些JavaScript无法加载到WordPress上

有些JavaScript无法加载到WordPress上,javascript,html,css,wordpress,Javascript,Html,Css,Wordpress,我的WordPress网站上的JavaScript手风琴菜单出现问题,我一直在排除故障。单击“手风琴”按钮时,它不会显示隐藏在其下的内容。我尝试过许多解决方案,要么不起作用,要么让我不知所措。我是一个初学者,这可能是一个简单的解决方案,但我已经为这个问题挣扎了好几天。这是我的密码: JavaScript: var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i

我的WordPress网站上的JavaScript手风琴菜单出现问题,我一直在排除故障。单击“手风琴”按钮时,它不会显示隐藏在其下的内容。我尝试过许多解决方案,要么不起作用,要么让我不知所措。我是一个初学者,这可能是一个简单的解决方案,但我已经为这个问题挣扎了好几天。这是我的密码:

JavaScript:

var acc = document.getElementsByClassName("accordion");
var i;

for (i = 0; i < acc.length; i++) {
    acc[i].addEventListener("click", function() {
        /* Toggle between adding and removing the "active" class,
        to highlight the button that controls the panel */
        this.classList.toggle("active");

        /* Toggle between hiding and showing the active panel */
        var panel = this.nextElementSibling;
        if (panel.style.display === "block") {
            panel.style.display = "none";
        } else {
            panel.style.display = "block";
        }
    });
}
HTML:

第1节
同侧眼线


根据FireFox,有问题的代码是
if(panel.style.display==“block”){
,这会抛出
TypeError:panel is null
异常。我已经用
警报('hi')测试了我的页面
,工作正常,因此我认为JavaScript正在加载。

我将您的代码添加到JSFIDLE中,它似乎工作正常,两个按钮都显示隐藏的内容

因此,如果您添加另一个手风琴按钮,您当前的代码就可以了

<button class="accordion">Section 1</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>
<button class="accordion">Section 2</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>
第1节
同侧眼线

第二节 同侧眼线


请提供一个链接,以便我们也可以看到html结构。很抱歉。刚刚在上面发布了它。很可能是
这个。nextElementSibling
不返回面板,但返回其他内容(没有html无法分辨)。测试一下。我自己也是一名网络开发新手,发现自己在设置手风琴方面很有帮助。感谢阿诺的提示,我认为你在
这个问题上是对的。nextElementSibling
。我也是一名新手,这是我的第一个项目,我只掌握HTML、CSS和JS的基本知识,所以我对这些东西的工作原理一无所知。我想成为一名新手所以我只发布了一段HTML。若有用的话,这里是我的源代码的一个链接。
<button class="accordion">Section 1</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>
<button class="accordion">Section 1</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>
<button class="accordion">Section 2</button>
<div class="panel">
  <p>Lorem ipsum...</p>
</div>