所以我有几个功能:
function Toggle(id)
{
EToggle(document.getElementById(id));
}
function EToggle(element)
{
var subject = element.getElementsByTagName("div")[0];
if(subject.style.display == "none")
{
subject.style.display = "block";
}
else
{
subject.style.display = "none";
}
}
在加载时调用Toggle函数,并且工作正常。但是,当我说
<a href="javascript:Toggle(flat)">
,没有任何反应。
所以问题是,为什么它不在链接中工作,而是在页面加载?
如果您需要更多详细信息,here是我的网站。
答案 0 :(得分:3)
使用
<a href="javascript:Toggle('flat')">
而不是
<a href="javascript:Toggle(flat)">
答案 1 :(得分:1)
首先,正如Matei所提到的,在html中的id-strings周围使用单引号。
接下来,更改collapsible.js的第31行
您要求点击的元素包含第一个div。问题是,你的&lt; a&gt;标签本身没有任何。你在跟随的&lt; a&gt;之后的div之后所以,你想得到父节点的div元素。
var subject = element.parentNode.getElementsByTagName("div")[0];
请记住,您的结构是这样的:
<div class="collapsible" id="demo">
<a href="javascript:Toggle('demo')"><h1>Demolition and Removal</h1></a>
<div style="display: none; ">
<p>Content removed from here</p>
</div>
</div>