gpt4 book ai didi

javascript - 将 DOM 元素数组缩减为 JavaScript 中最深层次的元素

转载 作者:行者123 更新时间:2023-11-29 09:56:54 25 4
gpt4 key购买 nike

假设我有这样的 HTML 标记:

<body>
<div id="content">
<div id="sidebar">
</div>
<div id="main">
<p class="foo">text</p>
<p class="bar">more <span>text</span></p>
</div>
</div>
</body>

让我们进一步假设我在 DOM 元素数组中选择了其中的一些:

var allElements = jQuery('div,p').get();
// result: [div#content, div#sidebar, div#main, p.foo, p.bar]

现在我想有效地从结果集中删除所有在结果中有子元素的元素。换句话说,应该只保留最深的层次。因此,期望的结果将是:

var deepestElements = doSomethingWith(allElements);
// desired result: [div#sidebar, p.foo, p.bar]

我该怎么做?

顺便说一句:“最深元素”似乎是我正在尝试做的事情的错误术语。有更好的名字吗?

最佳答案

尝试使用 .filter 并使用 .children().length 过滤掉。见下文,

var deepestElements = jQuery('div,p').filter(function () {  
return ($(this).children().length == 0);
});

关于javascript - 将 DOM 元素数组缩减为 JavaScript 中最深层次的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094743/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com