js中获取某个类下的某个标签,提示错误?

html结构为:

<nav class="nav-class">
    <ul class="ul-class">
        <li class="li-class"><a class="a-class">链接1</a></li>
        <li class="li-class"><a class="a-class">链接2</a></li>
        <li class="li-class"><a class="a-class">链接3</a></li>
        <li class="li-class"><a class="a-class">链接4</a></li>
        <li class="li-class">
            <a class="a-class">链接5</a>
            <ul>
                <li class="li-class"><a class="a-class">链接6</a></li>
                <li class="li-class"><a class="a-class">链接7</a></li>
            </ul>
        </li>
    </ul>
</nav>

JS获取 nav-class 下的 a 标签:

var urlLink = document.getElementsByClassName('nav-class').getElementsByTagName('a'), find = false;

提示错误,这样的应该如何获取?谢谢

阅读 3.4k
5 个回答

先给代码:

var urlLink = document.getElementsByClassName('nav-class').item(0).getElementsByTagName('a').item(0);

不管是Document还是Element对象,你调getElements~返回的就是个集合,所以你要想不这么麻烦,要不用id要不就上个querySelectorAll得了……

document.getElementsByClassName('nav-class') 返回的是个数组

getElementsByTagName是一个DOM对象的方法

所以你知道怎么做了吧。

var urlLink = document.getElementsByClassName('nav-class')[0].getElementsByTagName('a')

何必呢?
document.querySelectorAll('.nav-class a') 这不就行了?

var urlLink = document.getElementsByClassName('nav-class')[0].getElementsByTagName('a')
通过document.getElementsByClassName获取到的是一个数组,你需要加上索引获取到你需要的元素

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题