Вопрос по jquery, javascript, html – Узнайте, установлена ли высота HTML по стилю или по содержимому

19

У меня есть 2 деления:

<div id="div1"></div>
<div id="div2">div2</div>​

в моем css:

#div1{ height:20px}​

Оба div имеют высоту 20px, проверьтедемонстрация
Как я могу узнать, имеет ли div его высота из-за содержимого или он был установлен в CSS или inline стиле?
Это помогает мне узнать, какие размеры были установленыdeveloper или просто рассчитывается браузером.

Error: User Rate Limit Exceeded ilyes kooli
Error: User Rate Limit Exceeded Brian Hoover

Ваш Ответ

4   ответа
1

Error: User Rate Limit Exceeded

1

<div id="div-styled" style="height: 20px"></div>
<div id="div-unstyled"></div>

Error: User Rate Limit ExceededinlineError: User Rate Limit ExceededheightError: User Rate Limit Exceeded

document.getElementById('div-styled').style.height // "20px"
document.getElementById('div-unstyled').style.height.length // 0

Update

Error: User Rate Limit Exceeded.css()

var $el = $('#container');
$el.html( $el.css('height') );
#container {
  height: 42px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<div id="container"></div>

Error: User Rate Limit Exceededinline CSS height
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded ilyes kooli
Error: User Rate Limit Exceededjsfiddle.net/ayUsw/3 ilyes kooli
Error: User Rate Limit Exceeded
2

Error: User Rate Limit Exceeded

function emptyHeight ( elem ) {
    var $temp = $( '<div />' );
    var $elem = $( elem );
    var height;

    $temp.append( $elem.contents() );
    height = $elem.height();
    $elem.append( $temp.contents() );

    return height;   
}

Error: User Rate Limit Exceeded0, unlessError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded0Error: User Rate Limit ExceedednotError: User Rate Limit Exceeded

if ( emptyHeight( yourDiv ) === 0 ) {
    // the DIV does not have any height value set via CSS
} else {
    // the DIV has a CSS height set
}
11

Error: User Rate Limit Exceeded

function getRealHeight(element){
    var height=0;
    if (element.children().length>0){
        var temp = $('<div></div>');
        temp.append(element.children());
        height = element.height();
        element.append(temp.children());
    } else {
        var html=element.html();
        element.html('');
        height = element.height();
        element.html(html);
    }
    return height;
}

Error: User Rate Limit Exceeded

Error: User Rate Limit ExceededError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded.html()Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded ilyes kooli
Error: User Rate Limit Exceededthis thread, especiallyError: User Rate Limit Exceeded
Error: User Rate Limit Exceededjsfiddle.net/ayUsw/8 ilyes kooli

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