开发者问题收集

基本 JavaScript 手风琴

2013-01-04
1998

我正在制作一个可折叠面板常见问题解答。网上有大量的脚本,但我讨厌使用我不理解的脚本(我是 Javascript 新手)。所以我从基础开始,然后逐步提高。以下代码让我很沮丧,不知道为什么它不起作用:

Javascript:

function faq1() {

var faq1 = document.getElementById("faq1")

if (faq1.style.display = "none") {
faq1.style.display = "block";
}

else {
faq1.style.display = "none";
}
}

HTML/CSS:

<a href="#" onclick="faq1()">Question 1</a>
<div id="faq1" style="display: none">
Answer to question 1
</div>

脚本打开可折叠面板。但是,Javascript 的“else”部分不起作用,当我第二次单击链接时,我无法让显示关闭。我尝试了各种“else if”方法,看看是否能成功,但没有成功。

谢谢大家

1个回答

您在条件中使用赋值( = )而不是比较( == )。

或者,

function faq1() {

    var faq1 = document.getElementById("faq1");

    faq1.style.display = faq1.style.display == "none" ? "" : "none";

}
alex
2013-01-04