首页 > 解决方案 > 选择多个父元素的第一个子元素并将相同的类应用于所有

问题描述

我正在寻找一种方法来选择多个父 div 的第一个子元素,其中父 div 具有相同的类。这是我的 HTML:

<div class="wrapper">
  <p>Select this paragraph</p>
</div>

<div class="wrapper">
  <img src="https://picsum.photos/200/300" title="Select this image">
  <p>Don't select this</p>
</div>

<div class="wrapper">
  <p>Select this paragraph</p>
  <p>Don't select this paragraph</p>
</div>

请在此处查看我的完整CodePen

我正在尝试使用类选择每个 div 的第一个子元素,wrapper并将相同的类应用于所有这些子元素。我正在查看以下内容:

$('.wrapper').children(":first").addClass("noMargin");

这样做的问题是它只选择了第一个父 div 的子元素,但没有选择第三个包装器img的第一个和第一个。p我想你需要某种数组并为它们应用一个类,但我怎样才能实现这一点(最好使用 jQuery)?

标签: javascriptjqueryhtml

解决方案


你已经接近了,你需要的是通过具有.wrapper类的元素并将类附加noMargin到他们的第一个孩子,即

$('.wrapper').each(function() { 
    $(this).children(":first").addClass("noMargin");
});

推荐阅读