我有一个 html 代码,我在其中使用无序列表来显示目录结构。在单击 li 标签时,我调用一个 js 函数(比如 changecss()),在其中我阻止子 lis 的显示以使它们可见。但是在单击子 lis 时。如果我点击子 li,他们也会调用相同的函数 changecss() 。他们没有附带 onclick 事件,但是当我单击这些 li 时,他们仍然调用该函数。
这是代码:
-
第一类科目1
- 额外类 2
- 额外课程 3
</li>
<li>Subject 2</li>
<li>Subject 3</li>
</ul>
</li>
<li id="second" onclick="showSubList(this)">Class 2
<ul style="display:none" >
<li >subject1
<ul >
<li> extra class 2</li>
<li>extra class 3</li>
</ul>
</li>
<li>Subject 2</li>
<li>Subject 3</li>
</ul>
</li>
<li>Class 3</li>
<li>Class 4</li>
用于此的 javaScript 是: function showSubList(e) { alert(e.id);
if(e.getElementsByTagName("ul")[0].style.display == "none")
{
e.getElementsByTagName("ul")[0].style.display="block";
}
else if(e.getElementsByTagName("ul")[0].style.display == "block")
{
e.getElementsByTagName("ul")[0].style.display="none";
}
};
你也可以在这里查看:http: //jsfiddle.net/TTYMm/
对这种行为有任何想法吗?
谢谢。
这是可能的解决方法:http: //jsfiddle.net/TTYMm/1/
多谢你们