找到一个对象

时间:2017-07-16 11:11:10

标签: javascript html

我遇到了查找某些链接的父级,然后编辑这些链接的问题。预期的行为是,当您访问相关页面时,导航栏中的<li>标记将使用active类进行更新。实际行为是一个错误,指出:Cannot read property 'getElementsByTagName' of null

以下是相关的HTML:

                <nav id="nav">
                    <ul class="links" id="nav_links">
                        <li><a href="index.html">Main</a></li>
                        <li><a href="aboutus.html">About Us</a></li>
                        <li><a href="appearances.php">Appearances</a></li>
                    </ul>
                    <ul class="icons">
                        <li><a href="https://www.facebook.com/page/" class="icon fa-facebook"><span class="label">Facebook</span></a></li>
                    </ul>
                </nav>

和JavaScript:

function setActive() {
  liObj = document.getElementById('nav_links').getElementsByTagName('li');
  for(i=0;i<liObj.length;i++) {
    if(document.location.href.indexOf(liObj[i].innerHTML.href)>=0) {
      liObj[i].className='active';
    }
  }
}

$(document).ready(function(){
setActive();
});

似乎getElementById返回null,但代码中有一个id为“nav_links”的元素,所以我不知道它为什么会返回null。

0 个答案:

没有答案