2010-04-01 12 views
6

मैं इस तरह एक एचटीएमएल है कोई नहीं ", लेकिन यह बदले में एक खाली स्ट्रिंग लौटाता है। क्या इस समस्या के समाधान का कोई तरीका है?उपयोग जावास्क्रिप्ट एक बाहरी सीएसएस फ़ाइल से एक तत्व की शैली पाने के लिए

उत्तर

5

यह मानकों के अनुरूप ब्राउज़र (आईई - वर्तमान स्टाइल/रनटाइम स्टाइल) के लिए काम करेगा।

<body> 
    <div id="test">Testing</div> 

    <script type="text/javascript"> 
     window.onload = function() { 
      alert(window.getComputedStyle(document.getElementById('test'),null).getPropertyValue('display')); 
     } 
    </script> 
</body> 

+1

वेनिला जेएस में 1-लाइनर है जो कुछ करने के लिए 150 केबी लाइब्रेरी लोड करें? क्या आप गंभीर हैं? –

+0

धन्यवाद। हालांकि, हमारे पृष्ठ का उपयोग मोबाइल पर किया जाएगा और हमें पृष्ठ के आकार को कम करने की आवश्यकता है। इसलिए jquery की सिफारिश नहीं है। क्या कोई अन्य तरीका है जो एक ही परिणाम प्राप्त कर सकता है? – Alan

+0

प्रश्न में उल्लेख करने लायक हो सकता है। विशेष मोबाइल? काफी कुछ जेएस का समर्थन नहीं करते हैं। – Jonathan

3

चूंकि डिस्प्ले सीधे स्टाइल प्रॉपर्टी के रूप में सेट नहीं है, इसलिए आपको उपर्युक्त कोड का उपयोग नहीं करना पड़ेगा। आपको गणना मूल्य प्राप्त करना होगा।

आप इस पृष्ठ का उल्लेख कर सकते, Get styles

मूल्य

var displayValue = getStyle("test", "display"); 

function getStyle(el,styleProp) 
{ 
    var x = document.getElementById(el); 
    if (x.currentStyle) 
     var y = x.currentStyle[styleProp]; 
    else if (window.getComputedStyle) 
     var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp); 
    return y; 
} 
+0

धन्यवाद। लेकिन मैं गणना मूल्य कैसे प्राप्त कर सकता हूं? – Alan

+0

मेरा जवाब संपादित किया गया। – rahul

+1

वह फ़ंक्शन वास्तव में मूलभूत है, इसमें दो या दो से अधिक शब्दों (यानी 'फ़ॉन्ट-आकार', 'पृष्ठभूमि-रंग' इत्यादि) द्वारा बनाई गई सीएसएस संपत्ति नामों के साथ समस्याएं हो सकती हैं और 'getComputedStyle' विधि को' document.defaultView' ऑब्जेक्ट, चूंकि सभी ब्राउज़रों में ग्लोबल ऑब्जेक्ट ('विंडो') पर उपलब्ध 'डिफ़ॉल्ट दृश्य' सदस्य नहीं हैं, और वहां अधिक असंगतताएं हैं, मैंने जो कार्यान्वयन किया है, उसे देखें: http://stackoverflow.com/प्रश्न/2531737/जावास्क्रिप्ट-अक्षम करने योग्य तत्व-अधिकतम-ऊंचाई-के माध्यम से-तत्व-शैली-अधिकतम/2531 9 34 # 2531934 – CMS

0

सीएसएस अभी तक लोड नहीं किया जाएगा प्राप्त करने के लिए। अपनी जावास्क्रिप्ट को "ऑन-रेडी" ईवेंट में लपेटें।

<body onload="alert(document.getElementById('test').style.display);">

आप के लिए है कि काम करता है?

+0

धन्यवाद। क्या कोई उदाहरण है? – Alan

+0

काम नहीं करता = [ – Alan

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