繁体   English   中英

Javascript从嵌套的div中获取最后一个元素

[英]Javascript get last element from nested divs

我有以下html结构:

<div>
  <div>
    <div>  // 1
        <div></div>
    </div>
    <div> // 2
        <div></div>
    </div>
    ...
    <div> // n
        <div></div>
    </div> // <---- return this one
  </div>

  <div></div>
</div>

如何使用 JS DOM 查询返回在上述结构中标记的最后一个div元素?

有趣的! 试试这种方式(使用xpath):

 result = document.evaluate( '(//div//div[./div])[last()]', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); alert(result.snapshotItem(0).outerHTML);
 <div> <div> <div> // 1 <div></div> </div> <div> // 2 <div></div> </div> ... <div> // return me <div>child of return me </div> </div> // ---- return this one </div> <div></div> </div>

您可以使用querySelectorlastElementChild来尝试这样的事情。 我添加了id以便您可以看到它获得了正确的元素,但您实际上并不需要id来完成工作。

 let parent = document.querySelector('div > div'); console.log(parent.lastElementChild); console.log(parent.lastElementChild.innerText);
 <div> <div> <div id="first"> <div>First Text</div> </div> <div id="second"> <div>Second Text</div> </div> <div id="last"> <div>Last Text</div> </div> </div> <div></div> </div>

暂无
暂无

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

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