首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript HTMLCollection访问

javascript HTMLCollection访问
EN

Stack Overflow用户
提问于 2014-05-28 13:09:02
回答 1查看 2.7K关注 0票数 4

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

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

代码语言:javascript
复制
    <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>

因此,我想得到“活动”元素。我编写了以下代码:

代码语言:javascript
复制
    function getmenuItem(){
   var SelectedItem = document.getElementsByClassName("active");
   console.log(SelectedItem);
   console.log(SelectedItem.length);
    } 

问题来了:

我通过Firebug显示控制台,它显示给我看

代码语言:javascript
复制
HTMLCollection[]
0

然后我尝试用SelectedElement[0]访问集合,但是我得到了“未定义”。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-28 13:17:21

只有在构建了HTML页面之后才能找到该元素。如果您的代码在文档<script>中的<head>中是独立的,那么还没有"active"类的元素。

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

代码语言:javascript
复制
window.onload = function() {
    var SelectedItem = document.getElementsByClassName("active");

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23912535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档