繁体   English   中英

javascript HTMLCollection访问权限

[英]javascript HTMLCollection access

我创建了一个网站,需要推动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>

所以,我想获得“活跃”元素。 我做了以下代码:

    function getmenuItem(){
   var SelectedItem = document.getElementsByClassName("active");
   console.log(SelectedItem);
   console.log(SelectedItem.length);
    } 

问题出现了:

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

HTMLCollection[]
0

然后我尝试使用SelectedElement[0]访问Collection,但我得到了“undefined”。

请告诉我如何获得活跃元素的孩子。

只有在构建HTML页面后才能找到该元素。 如果您的代码段在文档<head>中的<script>中是独立的,则尚未有"active"类的元素。

将代码放在windows.onload ,该页面在加载页面并创建其元素后调用:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM