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

jQuery调用带选择器参数的.next()方法无返回结果是什么原因?

你对jQuery .next() 方法的功能理解有误。.next() 无论是否传入选择器,都只会检索当前元素的第一个紧邻同级节点,传入的选择器仅用来判断这个紧邻节点是否符合匹配规则,符合就返回该节点,不符合就直接返回空对象,不会继续向后遍历其他后续同级节点。

在你的示例中,#divTEST 节点的第一个紧邻同级节点是 <span id="spanTEST">,不匹配你传入的 a 选择器,所以 div.next("a") 自然返回空结果。

解决方案

如果需要查找当前元素之后所有同级节点中第一个匹配选择器的元素,可使用 .nextAll() 搭配 .first() 实现,你的场景正确写法如下:

let div = $("div#divTEST");
// 取当前div之后所有同级a元素中的第一个
console.log(div.nextAll("a").first());
相关方法功能区分
  • .next(selector):仅校验第一个紧邻同级节点,匹配则返回,否则返回空
  • .nextAll(selector):返回当前元素之后所有匹配选择器的同级节点
  • .nextUntil(stopSelector, filterSelector):遍历当前元素之后的同级节点,直到遇到匹配stopSelector的节点为止,可传入filterSelector筛选范围内的节点

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 08:45:03