我正在尝试在其父元素内垂直对齐一系列气泡文本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);
});


问题是我只得到第一个父母的第一个孩子的身高。当我使用THIS时,我会得到null。我想念什么?

最佳答案

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

尝试这个:

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

10-06 01:33