You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery children.length在JavaScript数组函数中返回值异常问题

问题原因及解决方法

你的问题出在对jQuery .map() 方法返回值的处理上,具体原因和修正方案如下:

核心问题

jQuery的.map()方法返回的是jQuery包装的集合对象,不是原生JavaScript数组。你直接用[0]访问时,无法正确获取到map回调里返回的length数值,这就是为什么结果是0而不是预期的1。

解决方法

需要调用.get()方法将jQuery集合转换成原生数组,之后再用[0]获取第一个元素:

修正后的JavaScript代码:

let outerdiv = $(".outerdiv"); // 注意:选择器里的.和#不需要转义

$("#first").text(outerdiv.first().children("div").length);

// 关键:添加.get()转成原生数组
$("#second").text(outerdiv.map(o => $(o).children("div").length).get()[0]);

额外注意点

  1. 选择器语法错误:你写的$("\.outerdiv")和$("\#first")不需要转义,直接写$(".outerdiv")和$("#first")即可,因为在字符串中.和#不属于需要转义的特殊字符。
  2. HTML语法错误:你最后一行的文本内容有语法问题,应该修正为:
outerdiv.map() 的结果 = <span id="second"></span>

内容的提问来源于stack exchange,提问作者Nick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 19:52:45