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

jQuery无法选中全部div标签:如何清空所有div下的第二个p标签

解决jQuery仅作用于第一个div的问题

你遇到的问题是因为$('div').children()会把所有div的子元素合并成一个单一的jQuery集合,之后的eq(1)只是从这个大集合里选取了第二个元素(也就是第一个div下的第二个<p>),所以只有它被清空。要让所有div下的目标<p>都被处理,有几种简单的方案:

方案1:遍历每个div并处理内部元素

用each()方法逐个遍历每个div,在每个div的范围内找到第二个<p>并清空:

$('div').each(function() {
  // 这里的$(this)指向当前遍历到的div
  $(this).children('p').eq(1).empty();
});

方案2:用精准的CSS选择器直接定位目标元素

更简洁的方式是直接用nth-child(2)选择器,它会匹配每个div下的第二个子元素(正好是你的目标<p>):

$('div p:nth-child(2)').empty();

这个选择器会直接选中所有符合条件的<p>标签,一步完成清空操作。

为什么原来的代码不生效?

再帮你理清楚原代码的逻辑:

  • $('div').children()会把三个div下的所有9个<p>标签放到一个集合里
  • eq(1)只会选取这个集合中的第二个元素(索引从0开始),也就是第一个div里的<p>Greetings</p>
  • 所以只有这一个元素被清空,其他div的目标元素完全没被触及

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:41:11