मैं jQuery का उपयोग करके एक DIV से ऊंचाई शैली कैसे निकालूं?


85

डिफ़ॉल्ट रूप से, एक DIV की ऊंचाई इसकी सामग्री से निर्धारित होती है।

लेकिन, मैंने इसे ओवरराइड किया और स्पष्ट रूप से jQuery के साथ एक ऊंचाई निर्धारित की:

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

मैं इसे कैसे उल्टा कर सकता हूं? मैं ऊंचाई शैली को हटाना चाहता हूं और इसे स्वचालित / प्राकृतिक ऊंचाई पर वापस जाना चाहता हूं?


1
मुझे यह काम करने के लिए नहीं मिल सकता है। ऐसा लगता है कि आपके द्वारा div की ऊँचाई को कुछ विशिष्ट (जैसे 300px या जो भी) निर्धारित करने के बाद, आप ऊँचाई को वापस ऑटो पर सेट नहीं कर सकते। एक jQuery बग हो सकता है।
ब्रैंडन मोंटगोमरी

जवाबों:


102

ऊंचाई निकालने के लिए:

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

जैसे जॉन ने बताया, ऊंचाई निर्धारित करें auto:

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

(jQuery 1.4 के साथ जाँच की गई)


6
आपने तीन समाधान दिए, मैं "" कार्यों के लिए ऊँचाई निर्धारित करने की पुष्टि कर सकता हूं, दूसरों के बारे में नहीं जानता।
डैनियल बर्ड्सले

1
JQuery 1.9 में '' का उपयोग करते हुए लेकिन उपयोग nullनहीं करता है।
स्टीव टाबर

1
सूक्ष्म अंतर हैं: 1 + 2 से पता चलता है कि stlyesheet (अगर कुछ भी वहाँ परिभाषित किया गया है), 3 इसे ओवरराइड करता है (जैसा कि ऑटो में सेट उच्च प्राथमिकता है)
फ्रैंक

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

मुझे इसका उपयोग करना पसंद है, क्योंकि यह सममित है कि आपने स्पष्ट रूप से इसका उपयोग कैसे किया है। पहली बार में इसे सेट करने के लिए (वैली), और ब्राउज़रों में काम करता है।


2
यह किसी भी मौजूदा सीएसएस नियमों को पछाड़ते हुए ऊंचाई को ऑटो ऊंचाई होने के लिए मजबूर करता है। कुछ विशिष्ट उदाहरणों में यह ठीक हो सकता है, लेकिन सामान्य तौर पर यह समस्या पैदा कर सकता है।
बेनेट McElwee

@BennettMcElwee मैं वास्तव में अब आपके द्वारा बताए गए मुद्दे से जूझ रहा हूं। तो उसके लिए +1।
देशी कोडर

19

शायद कुछ ऐसा

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

2
यह लागू होने वाले किसी भी मौजूदा सीएसएस नियमों को ओवरराइड करेगा, जो एक समस्या हो सकती है।
बेनेट मैकलेवे

19

आप यह कोशिश कर सकते हैं:

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

4
कि यह एक को हटा सीएसएस () शैली मूल्य के रूप में सही anwser होना चाहिए, यह धन्यवाद जे एस के साथ आकार बदलने :) चीयर्स पर उपयोगी है,
ज़ीमॉन

14

Div की ऊंचाई को रीसेट करने के लिए, बस प्रयास करें

$("#someDiv").height('auto');


यह @ nonrectangular के उत्तर का एक डुप्लिकेट है, जो इस संपादन से पहले है।
बेनेट McElwee


0

यहां केवल उत्तरों को जोड़ने के लिए, मैं दो विकल्पों के साथ एक फ़ंक्शन के रूप में ऊंचाई का उपयोग कर रहा था या तो ऊंचाई निर्दिष्ट करें यदि यह खिड़की की ऊंचाई से कम है, या इसे ऑटो पर वापस सेट करें

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

मुझे सामग्री को लंबवत रूप से केन्द्रित करने की आवश्यकता थी यदि यह खिड़की की ऊंचाई से छोटा था या फिर इसे स्वाभाविक रूप से स्क्रॉल करने दें, तो यह वही है जो मैं ऊपर आया था


0

उन सभी उदाहरणों को दिखाने के लिए धन्यवाद दोस्तों। मैं गया था अभी भी अपने उदाहरण कोशिश कर के बाद 480px गुणित नीचे की तरह छोटे मीडिया स्क्रीन पर मेरे संपर्क पृष्ठ के साथ समस्या हो। बूटस्ट्रैप सम्मिलित करता रहा height: auto

एलिमेंट इंस्पेक्टर / देवतुलस में ऊंचाई दिखाएंगे:

element.style {

}

मेरे मामले में मैं देख रहा था: section#contact.contact-container | 303 x 743ब्राउज़र विंडो में।

तो समस्या को खत्म करने के लिए निम्नलिखित पूर्ण लंबाई काम करती है:

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


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

मुझे नहीं लगता कि यह एक सीएसएस ऊंचाई शैली के लिए काम करेगा जो
एए

यदि कुछ भी हो, तो आप Attr ("स्टाइल") को
हटाना चाहेंगे

यह काम करता है और सबसे अच्छा विकल्प है, लेकिन अगर (यहाँ सवाल के विपरीत) आप एक height="XX"HTML विशेषता को हटाने की कोशिश कर रहे हैं
user56reinstatemonica8
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.