কীভাবে আমি jQuery ব্যবহার করে ডিআইভি থেকে উচ্চতা শৈলীটি সরিয়ে ফেলব?


86

ডিফল্টরূপে, একটি ডিআইভির উচ্চতা এর বিষয়বস্তু দ্বারা নির্ধারিত হয়।

তবে, আমি এটিকে ওভাররাইড করে এবং স্পষ্টভাবে jQuery এর সাথে একটি উচ্চতা সেট করেছি:

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

আমি কীভাবে এর বিপরীত হতে পারি? আমি উচ্চতার শৈলীটি সরাতে এবং এটিকে স্বয়ংক্রিয় / প্রাকৃতিক উচ্চতায় ফিরিয়ে আনতে চাই?


4
আমি এটি কাজ করতে পারি না। দেখে মনে হচ্ছে আপনি ডিভের উচ্চতা নির্দিষ্ট কিছু (যেমন 300px বা যাই হোক না কেন) সেট করার পরে আপনি উচ্চতায় পিছনে অটোতে সেট করতে পারবেন না। একটি jQuery বাগ হতে পারে।
ব্র্যান্ডন মন্টগোমেরি

উত্তর:


103

উচ্চতা অপসারণ:

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

like John pointed out, set height to auto:

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

(checked with jQuery 1.4)


6
You gave three solutions, I can confirm setting height to "" works, don't know about the others.
Daniel Beardsley

1
In jQuery 1.9 using '' but using null does not.
Steve Tauber

1
There are subtle differces: 1+2 lets revices thew stlyesheet (if anything is defined there), 3 overrides it (as the attrib set to auto has higher precedence)
Frank Nocke

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

I like using this, because it's symmetric with how you explicitly used .height(val) to set it in the first place, and works across browsers.


2
This forces the height to be the auto height, overriding any existing CSS rules. That may be OK in some specific instances, but in general it could cause problems.
Bennett McElwee

@BennettMcElwee I'm actually struggling with the issue you described now. So +1 for that.
Native Coder

20

you can try this:

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

4
that should be correct anwser as this one removes css() style value, it is usefull on resizing with js :) Cheers, thanks
Szymon




0

just to add to the answers here, I was using the height as a function with two options either specify the height if it is less than the window height, or set it back to auto

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

I needed to center the content vertically if it was smaller than the window height or else let it scroll naturally so this is what I came up with


0

Thank guys for showing all those examples. I was still having trouble with my contact page on small media screens like below 480px after trying your examples. Bootstrap kept inserting height: auto.

Element Inspector / Devtools will show the height in:

element.style {

}

In my case I was seeing: section#contact.contact-container | 303 x 743 in the browser window.

So the following full-length works to eliminate the issue:

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


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

i don't think this will work for a css height style that is embedded within a a style attribute...
topwik

If anything, you'd want to removeAttr("style")
jigglyT101

This does work and is the best option however if (unlike the question here) you're trying to remove a height="XX" HTML attribute
user56reinstatemonica8
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.