是否有 JS/jQuery 完全递归子节点计数功能?

发布于 2024-10-18 05:21:27 字数 466 浏览 5 评论 0原文

各位,

假设我有以下情况:

<div class="outer">
    <div>
        <span>
             <ul>
                 <div> </div>
                 <div> </div>
             </ul>
         </span>
     </div>
  </div>

我如何找到 div.outer 内的元素总数?像 $('div.outer').children().size() 或 length 返回 1 (我正在寻找,在本例中为 5)之类的东西是否有一个快捷方式或函数可以使用 js/ 查找总元素数jQuery 还是我应该专门针对这个问题编写一个函数? TIA。

Folks,

Let's say that I have the following situation:

<div class="outer">
    <div>
        <span>
             <ul>
                 <div> </div>
                 <div> </div>
             </ul>
         </span>
     </div>
  </div>

How would I find the total number of elements inside div.outer? Something like $('div.outer').children().size() or length returns 1 (I'm looking, in this case, for 5) is there a shortcut or function to find the total element count using js/jQuery or should I write a function just for this issue? TIA.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

红颜悴 2024-10-25 05:21:27

vartotalDesendants = $('div.outer *').length;

就完成了。


var totalDescendants = $('div.outer').find('*').length;

也可以。

var totalDescendants = $('div.outer *').length;

and done.


var totalDescendants = $('div.outer').find('*').length;

would also work.

眸中客 2024-10-25 05:21:27

一个简单(并且可能比 jQuery 更快)的 JavaScript 替代方案是:

var el = document.getElementById("foo");
var descendantElementCount = el.getElementsByTagName("*").length;

这确实假设您已经给了元素一个 id。如果这很重要,您可以使用 jQuery 获取具有类 outer 的所有元素:

var descendantElementCount = 0;
$('div.outer').each(function() {
    descendantElementCount += this.getElementsByTagName("*").length;
});

A simple (and likely faster than jQuery) JavaScript alternative would be

var el = document.getElementById("foo");
var descendantElementCount = el.getElementsByTagName("*").length;

This does assume you've given the element an id. You could use jQuery to get all the elements with class outer, if this is important:

var descendantElementCount = 0;
$('div.outer').each(function() {
    descendantElementCount += this.getElementsByTagName("*").length;
});
一笔一画续写前缘 2024-10-25 05:21:27

jQuery 递归子节点计数函数:

jQuery(document).ready(function(){
var TotalChildren=jQuery("*","div.outer").length;
});

jQuery recursive child node count function:

jQuery(document).ready(function(){
var totalChildren=jQuery("*","div.outer").length;
});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文