2012-11-23 9 views
11

संभव डुप्लिकेट: पर मैं जरूरत के साथ सामना कर रहा हूँ बाद मेंजावास्क्रिप्ट के माध्यम से एक सीएसएस संपत्ति को हटाने/रीसेट करने का सही तरीका क्या है?

var div = document.getElementById('myDiv'); 
div.style.width = '300px'; 
div.style.height = '200px'; 
... 

और इतने पर ...

:
how to remove css property using javascript?

मैं इस जावास्क्रिप्ट है एक संपत्ति को हटाने का (चा नहीं अपने मूल्य nging, वास्तव में अर्थ को हटाने: जैसे मैं सेट नहीं करने से पहले उस)

मैं कुछ इस तरह कोडित था:

  1. div.style.height = अपरिभाषित;
  2. div.style.height = null;
  3. div.style.height = '';

केवल समाधान n.3 काम करने के लिए लगता है, लेकिन फिर भी ... मुझे यकीन है कि यह यह करने के लिए सही तरीका (मैं केवल क्रोम का उपयोग कर रहा यह परीक्षण करने के लिए)

क्या

किसी को भी पता है है नहीं कर रहा हूँ सही तरीका? जो सभी उचित ब्राउज़रों में काम करता है?

धन्यवाद

+0

मेरे लिए आम तौर पर 2 कार्यों के लिए तत्व की शैली गुण सेट। –

+2

इसे जांचें: http://stackoverflow.com/questions/2027935/how-to-remove-css-property-using-javascript ... मूल रूप से "" यह करेगा। –

उत्तर

1

कोई "सही तरीका है" से removeAttribute() फ़ंक्शन का उपयोग करेंगे। माइक्रोसॉफ्ट ने एक बार शैली का आविष्कार किया .removeAttribute(), लेकिन यह समर्थित नहीं है। सबसे अच्छा तरीका यह मानक-मूल्य पर सेट करना है।

संपादित करें: जैसा कि डाइस्ट्रॉय ने उल्लेख किया है, इसे सभी ब्राउज़रों में रीसेट करने के लिए इसे सेट करना, ताकि यह सबसे अच्छा तरीका होगा।

+0

इसे '' पर सेट करें 'यह सभी ब्राउज़रों पर डिफ़ॉल्ट रूप से रीसेट करने लगता है। –

+0

@looper आपकी तरह लगता है 'सही' उत्तर है। मैं इसे तब तक चुनूंगा जब तक कि कोई अधिक व्यापक रूप से न आए। – Zo72

1

ये रहा:

div.style.height = "auto" 
+5

ध्यान रखें कि प्रारंभिक मान 'ऑटो' नहीं हो सकता है। कुछ अन्य मूल्य निर्दिष्ट किया गया हो सकता है। –

+1

लेकिन यदि सवाल कहता है कि वह मान को _remove_ करना चाहता है तो उसे मूल मान पर रीसेट नहीं किया गया है, बल्कि "ऑटो" पर। बेशक "ऑटो" केवल ऊंचाई पर लागू होता है। – zvona

+0

न केवल ऊंचाई, लेकिन कम से कम ऊंचाई, सहमत हुए। – EricG

-1

मैं दस्तावेज़

document.getElementById("myDiv").removeAttribute("height") 
+1

यदि सीएसएस द्वारा ऊंचाई दी जाती है तो यह काम नहीं करेगा। –

0

ठीक है, वर्तमान शैली संपत्ति प्राप्त करने के लिए getComputedStyle का उपयोग करने का एक और विकल्प हो सकता है, और जब उस चर को रीसेट करने की आवश्यकता होती है तो उस मान को याद रखें।

var style = getComputedStyle(div); 

div.origWidth = style. getPropertyValue("width"); 
div.origHeight = style. getPropertyValue("height"); 

https://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle

1

मैं बस निम्नलिखित कोड

एचटीएमएल

<div id="foo" style="height: 100px;"></div> 

सीएसएस

#foo { 
    height: 200px; 
    background-color: yellow; 
} 

जावास्क्रिप्ट

var el = document.getElementById("foo"); 
el.style.height = "auto"; 

के साथ एक बेला बनाया है गुण को सेट ऑटो के लिए वास्तव में

<div id="foo" style="height: auto;"></div> 

के तत्व पर शैली विशेषता सेट करता है और सीएसएस ऊंचाई संपत्ति #foo के लिए आवेदन किया ओवरराइड करता है। एक शैली रीसेट करने के लिए, के रूप में दूसरों के द्वारा उल्लेख किया एक खाली स्ट्रिंग

el.style.height = ""; 

फिडल here

संबंधित मुद्दे

 संबंधित मुद्दे