javascript HTMLCollection访问

javascript HTMLCollection访问,javascript,children,htmlcollection,Javascript,Children,Htmlcollection,我做了一个网站,需要推动javascript。我想从我的HTML菜单中获取子节点 以下是我的HTML结构的一部分: <ul class="menu"> <div class="moduletable_menu"> <ul class="nav menu nav-pills"> <li class="item-101"> <li class="item

我做了一个网站,需要推动javascript。我想从我的HTML菜单中获取子节点

以下是我的HTML结构的一部分:

    <ul class="menu">
       <div class="moduletable_menu">
          <ul class="nav menu nav-pills">
             <li class="item-101">
             <li class="item-108 current active deeper parent">
             <li class="item-127">
             <li class="item-113 deeper parent">
             <li class="item-124">
             <li class="item-116 deeper parent">
          </ul>
       </div>
    </ul>
问题来了:

我通过Firebug显示了控制台,它显示了我

HTMLCollection[]
0
然后我尝试使用
SelectedElement[0]
访问该集合,但得到了“undefined”


请告诉我如何获取活动元素的子元素。

只有在构建HTML页面后才能找到该元素。如果您的代码段在文档
中的
中是独立的,则类
中还没有“活动”的元素

将代码放在
窗口中。onload
,在加载页面并创建其元素后调用:

window.onload = function() {
    var SelectedItem = document.getElementsByClassName("active");

    console.log(SelectedItem);
    console.log(SelectedItem.length);
} 

然后,集合的长度应为1,您可以使用
[0]
访问第一个元素。当从事件处理程序(如
onclick
)调用时,代码也会工作,只有文档已经存在时才会触发。(否则就不会有任何按钮可点击。)

你没有任何“活动”类。我认为使用“活动”我得到了
  • 因为有“活动”语句。
    window.onload = function() {
        var SelectedItem = document.getElementsByClassName("active");
    
        console.log(SelectedItem);
        console.log(SelectedItem.length);
    }