Как получить высоту самого высокого дочернего элемента в javascript/jQuery?

Если вы можете запустить глобальную замену (один раз) и после этого сохранить некоторое соглашение о кодировании, вы можете следовать шаблону, часто используемому в платформе Android .

Вместо того, чтобы писать

Log.d(TAG, string1 + string2 + arg3.toString());

, используйте его как

if (BuildConfig.DEBUG) Log.d(TAG, string1 + String.format("%.2f", arg2) + arg3.toString());

Теперь Proguard может удалить StringBuilder и все строки и методы, которые он использует в пути, из оптимизированного выпуска DEX. Используйте proguard-android-optimize.txt, и вам не нужно беспокоиться о android.util.Log в вашем proguard-rules.pro:

android {
  …
  buildTypes {
    release {
      minifyEnabled true
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }
}

С плагином gradle для Android Studio BuildConfig.DEBUG довольно надежный, поэтому вам не нужны дополнительные константы для контроля зачистки.

23
задан Leandro Ardissone 2 July 2009 в 19:27
поделиться

2 ответа

Вы всегда можете сделать:

var t=0; // the height of the highest element (after the function runs)
var t_elem;  // the highest element (after the function runs)
$("*",elem).each(function () {
    $this = $(this);
    if ( $this.outerHeight() > t ) {
        t_elem=this;
        t=$this.outerHeight();
    }
});

Отредактировано, чтобы заставить его снова работать.

31
ответ дан 29 November 2019 в 00:46
поделиться

Если элемент div меньше, чем его дочерние элементы, дочерние элементы, вероятно, являются плавающими. Можно ли сделать div размером с дочерние элементы?

Если можно, добавьте очищающий элемент внизу, чтобы div обернул его дочерние элементы:

<div id="someParent">
    <p>test</p>
    <img src="test1.png" alt="test1" style="float: left" />
    <img src="test2.png" alt="test2" style="float: left" />
    <div style="clear: both;"></div>
</div>

Или примените решение CSS clearfix к сделать почти то же самое, но без дополнительной разметки или очищающего div.

Содержащий его div получит ту же высоту, что и самый высокий дочерний элемент, и вы можете получить его следующим образом:

$("#someParent").height();
6
ответ дан 29 November 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: