jQueryを使用してDIVから高さスタイルを削除するにはどうすればよいですか?


85

デフォルトでは、DIVの高さはその内容によって決定されます。

しかし、私はそれをオーバーライドし、jQueryで明示的に高さを設定します:

$('div#someDiv').height(someNumberOfPixels);

どうすればそれを元に戻すことができますか?高さスタイルを削除して、自動/自然の高さに戻したいですか?


1
私もこれを機能させることができません。divの高さを特定の値(300pxなど)に設定した後は、高さをautoに戻すことはできないようです。jQueryのバグである可能性があります。
Brandon Montgomery

回答:


102

高さを削除するには:

$('div#someDiv').css('height', '');
$('div#someDiv').css('height', null);

ジョンが指摘したように、高さをauto次のように設定します。

$('div#someDiv').css('height', 'auto');

(jQuery 1.4でチェック)


6
あなたは3つの解決策を与えました、私は高さを「」に設定することを確認できます、他についてはわかりません。
ダニエルビアズリー

1
jQuery 1.9では ''を使用nullしていますが、使用していません。
スティーブタウバー2013年

1
微妙な違いがあります:1 + 2はw stlyesheetを修正し(そこに何かが定義されている場合)、3はそれをオーバーライドします(autoに設定された
属性の

23
$('div#someDiv').height('auto');

.height(val)を明示的に使用して最初に設定する方法と対称的であり、ブラウザー間で機能するため、これを使用するのが好きです。


2
これにより、高さが自動高さになり、既存のCSSルールが上書きされます。特定の場合には問題ないかもしれませんが、一般的には問題が発生する可能性があります。
ベネットマケルウィー2015

@BennettMcElwee私はあなたが今説明した問題に実際に苦労しています。したがって、そのために+1します。
ネイティブコーダー2017年


19

あなたはこれを試すことができます:

$('div#someDiv').height('');

4
これはcss()スタイルの値を削除するので、これは正しい答えであるはずです。jsを使用したサイズ変更に役立ちます:)乾杯、ありがとう
Szymon 2016年



0

ここでの答えに追加するために、私は2つのオプションを使用して高さを関数として使用していました。ウィンドウの高さよりも低い場合は高さを指定するか、自動に戻します。

var windowHeight = $(window).height();
$('div#someDiv').height(function(){
    if ($(this).height() < windowHeight)
        return windowHeight;
    return 'auto';
});

コンテンツがウィンドウの高さよりも小さい場合は、コンテンツを垂直方向の中央に配置する必要がありました。そうでない場合は、コンテンツを自然にスクロールさせる必要がありました。これが私が思いついたものです。


0

それらすべての例を示してくれてありがとう。あなたの例を試した後、私はまだ480px以下のような小さなメディア画面の私の連絡先ページで問題を抱えていました。ブートストラップは挿入を続けましたheight: auto

Element Inspector / Devtoolsは、高さを次のように表示します。

element.style {

}

私の場合section#contact.contact-container | 303 x 743、ブラウザウィンドウに次のように表示されていました。

したがって、次のフルレングスは問題を解消するために機能します。

$('section#contact.contact-container').height('');


-6
$('div#someDiv').removeAttr("height");

私は...これはAAスタイル属性内に埋め込まれたCSSの高さのスタイルのために働くだろうとは思わない
topwik

どちらかといえば、removeAttr( "style")が必要です。
jigglyT101 2014年

これは機能し、最良のオプションですが、(ここでの質問とは異なり)height="XX"HTML属性を削除しようとしている場合
user56reinstatemonica8 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.