Html 在级联div上生成onClick事件

Html 在级联div上生成onClick事件,html,cascade,jscript,Html,Cascade,Jscript,我正在尝试做一些级联html div,但还不能 =======概念====== 1-一开始应该如何: |家长课| 2-用户单击ParentDiv后: |家长课| |ChildDiv1 | | ChildDiv2 | | ChildDiv3| =======概念结束===== =======到目前为止的代码===== 2016首先,您没有关闭第一行中的标记 其次,getElementsByClassName返回一个集合。除非使用像jquery这样的框架,否则不能集体设置属性 这将是正确的代码: H

我正在尝试做一些级联html div,但还不能

=======概念======

1-一开始应该如何:

|家长课|

2-用户单击ParentDiv后:

|家长课|

|ChildDiv1 | | ChildDiv2 | | ChildDiv3|

=======概念结束=====

=======到目前为止的代码=====


2016首先,您没有关闭第一行中的
标记

其次,
getElementsByClassName
返回一个集合。除非使用像jquery这样的框架,否则不能集体设置属性

这将是正确的代码:

HTML:

<div class="Year" type="button" onclick="showDiv()"><p>2016</p></div>
            <div class="Month" style="display:none;"><p>January</p></div>
            <div class="Month" style="display:none;"><p>February</p></div>
            <div class="Month" style="display:none;"><p>March</p></div>
function showDiv() {

   var elems = document.getElementsByClassName('Month');

    for(var i = 0; i != elems.length; i++)
    {
        elems[i].style.display = "block";
    }

}
现场观看:


如果您手动尝试,但不与javascript函数结合使用,则它可以工作。标记在第一行没有关闭,您还记得吗?(在“2016”之后)
function showDiv() {

   var elems = document.getElementsByClassName('Month');

    for(var i = 0; i != elems.length; i++)
    {
        elems[i].style.display = "block";
    }

}