6

要素が0に設定されてheightいる場合、要素のattrのcss値を取得することは可能ですか?max-height

onclick を表示する要素のピクセル数を知るためにこれが必要です。すべての要素の高さはブラウザーのサイズによって変化するため、css ファイルから高さの値を取得したいと考えています。

http://jsfiddle.net/AqAJc/

4

5 に答える 5

2

私の最初の質問は、なぜmax-height: 0;他に使えるものがあるのですか?hide() show()どちらを使うかのようにdisplay: none

私ができる唯一のことは、max-height css を削除して高さを取得してから、max-height を再適用することです。

$('.div').css('max-height', 'none')
console.log($('.div').height())
$('.div').css('max-height', '0')

これは、要素が表示されないほど速く発生するはずですが、 with を削除する前に非表示にすることをお勧めしますmax-height

$('.div').hide()
$('.div').css('max-height', 'none')    
console.log($('.div').height())
$('.div').css('max-height', '0')
$('.div').show()
于 2013-08-06T14:58:31.953 に答える
1
$('.div').each(function(){
    var t=$(this); // Cache jQuery reference
    t.css('max-height','none'); // Temporarily override max-height
    t.data('height',t.height()); // Store height in data
    t.css('max-height',''); // Remove our max-height override
});
alert($('.div').data('height'));

jsfiddle: http://jsfiddle.net/AqAJc/7/

于 2013-08-06T15:55:08.693 に答える
0

CSS の最大高さはそのままにしておきます。高さを変数にキャッシュします。max-height次に、を 0 に追加します。

$(function(){
    var divHeight = $('.div').height();
    $('.div').css('max-height', '0');
    alert(divHeight);
});

http://jsfiddle.net/AqAJc/4/

于 2013-08-06T15:04:41.137 に答える