【问题标题】:Get First Child of Every Parent with Same Class Name获取具有相同班级名称的每个父母的第一个孩子
【发布时间】:2025-12-01 20:40:02
【问题描述】:

我正在尝试在其父元素中垂直对齐一系列气泡文本 div。

这种嵌套的简化版本如下所示

<div class="bubble">
  <div class="bubble-inner">
  </div>
</div>

<div class="bubble">
  <div class="bubble-inner">
  </div>
</div>

我正在使用这个 jQuery 来获取我的内部元素高度,我需要将边距应用于父元素。

$('.bubble').each(function() {
    var rBubbleHeight = $('.bubble > .bubble-inner:first-child').outerHeight();
    var rbh = (405 - rBubbleHeight) / 2;
    $(this).css('margin-top',rbh);
});

问题是我只得到第一个父母的第一个孩子的高度。当我使用这个时,我得到空值。我错过了什么?

【问题讨论】:

    标签: jquery foreach parent css-selectors


    【解决方案1】:

    问题在于,在每次迭代中,您都在使用完整的选择器(它将只返回第一个匹配的元素),而不是单独查看当前的 .bubble

    试试这个:

    $('.bubble').each(function() {
        var rBubbleHeight = $(this).find('.bubble-inner:first-child').outerHeight();
        ...
    });
    

    【讨论】:

    • @user2394359 - 你能创建一个说明问题的 jsFiddle.net 示例吗?
    • 我实际上在子元素名称中有一个错误。我为此道歉。这个解决方案是正确的。非常感谢!
    【解决方案2】:

    试试这样的:

    $('.bubble-inner').each(function() {
        var rbh = (405 - $(this).outerHeight()) / 2;
        $(this).css('margin-top', rbh);
    });
    

    【讨论】:

      最近更新 更多