猿问

如果尝试使用 getElementByClassName 获取元素

我正在尝试访问父元素的子节点。如果我使用 getElementById,那么我可以使用属性“childNodes”,但如果我使用 byClassName,则该属性“childNodes”不起作用。


<div id="strop" class="strop">

      <div class="container">

        <div class="child" id="first">Child1</div>

        <div class="child">Child2

          <ul class="ul">

            <li class="ulchild">L1</li>

            <li class="ulchild">L2</li>

            <li class="ulchild">L3</li>

            <li class="ulchild">L4</li>

            <li class="ulchild">L5</li>

          </ul>

        </div>

        <div class="child">child3</div>

        <div class="child">child4</div>

      </div>

////////////getting element by id//////////


let a = document.getElementById('strop');

console.log(a.childNodes)

//return html collection


// / getting element by classname ////////////


let b = document.getElementsByClassName('strop');

console.log(b.childNodes)

//returns undefined


翻阅古今
浏览 189回答 1
1回答

紫衣仙女

getElementsByClassName将返回一个数组,而不是单个元素,因此您需要执行类似的操作getElementsByClassName('strop')[0].childNodes
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答