2012-04-28 19 views
6

मैं जावास्क्रिप्ट के माध्यम से सभी सीएसएस गुणों (केवल विशिष्ट चयनकर्ता या तत्व के लिए नहीं बल्कि सभी के लिए) तक पहुंच प्राप्त करना चाहता हूं।सभी सीएसएस शैली गुणों तक पहुंच प्राप्त करें?

मैं .style संग्रह के सभी गुणों के माध्यम से पुन: प्रयास करना चाहता हूं।

मैं यह कैसे कर सकता हूं?

+0

* द्वारा सभी करते हुए आप सभी तत्वों के सभी सीएसएस मतलब है? – Joseph

+0

आपका क्या मतलब है? इससे पहले कि आप अपनी संपत्तियों तक पहुंच सकें, आपको एक तत्व चुनना होगा। – Sampson

+0

सभी माध्यमों से स्टाइल ["ए"] शैली ["z"] और style.length = कुल css गुणों जैसे सभी सीएसएस गुणों को हम किसी भी तत्व पर लागू कर सकते हैं। – gaurav

उत्तर

6

आप CSSStyleDeclaration object का उपयोग कर सकते हैं। एक CSSStyleDeclaration ऑब्जेक्ट जावास्क्रिप्ट गुणों के माध्यम से उपलब्ध सीएसएस शैली विशेषताओं बनाता है। इन जावास्क्रिप्ट गुणों के नाम सीएसएस विशेषता नामों के साथ निकटता से मेल खाते हैं।

cssText
शैली विशेषताएं और उनके मान का एक सेट का शाब्दिक प्रतिनिधित्व:

इस वस्तु दो अतिरिक्त गुण है। पाठ को एक सीएसएस स्टाइलशीट में स्वरूपित किया गया है, तत्व चयनकर्ता और घुमावदार ब्रेसिज़ को कम करता है जो गुणों और मानों को घेरे हुए हैं।

लंबाई
इस CSSStyleDeclaration में निहित विशेषता/मान युग्म की संख्या। एक CSSStyleDeclaration ऑब्जेक्ट भी एक सरणी जैसी वस्तु है जिसका तत्व घोषित सीएसएस शैली विशेषताओं के नाम हैं।

https://developer.mozilla.org/en/DOM/CSSStyleDeclaration
https://developer.mozilla.org/en/DOM/CSS

1

आप यहां जावास्क्रिप्ट से स्टाइल शीट तक पहुंचने के तरीके को देख सकते हैं: http://www.quirksmode.org/dom/changess.html

यह आईई बनाम अन्य ब्राउज़रों में अलग है और यह सभी क्रॉस ब्राउज़र सामान को सही करने के लिए थोड़ा दर्द है।

var theRules = new Array(); 
if (document.styleSheets[1].cssRules) 
    theRules = document.styleSheets[1].cssRules 
else if (document.styleSheets[1].rules) 
    theRules = document.styleSheets[1].rules 

अक्सर, तुम सिर्फ कई सीएसएस नियम परिभाषित कर लेते हैं और फिर आदेश लागू किया शैलियों को बदलने के लिए विभिन्न वस्तुओं से जोड़ सकते हैं या वर्गों को हटा दें।

+0

उत्तर के लिए धन्यवाद, मुझे लगता है कि मैं स्पष्ट रूप से मेरी आवश्यकता को स्पष्ट करने में सक्षम नहीं था, ठीक है, मुझे एक बार फिर कोशिश करें, सीएसएस 3 में कितनी संपत्ति है, मुझे सटीक गिनती नहीं है, लेकिन मैं इसे जावास्क्रिप्ट – gaurav

1
//to loop through the available css properties using jQuery 
$(document).ready(function() { 
    availableProps = getComputedStyle(document.body); 
    $.each(availableProps, function(propCount, cssProp) { 
     console.log('CSS Property : ' + cssProp); 
    }); 
}); 
+0

से सभी तक पहुंचना चाहता हूं *पहुंच*? इसके अलावा, ओपी ने इन गुणों पर पुनरावृत्ति के लिए कहा। क्या आप इन जानकारी को अपने उत्तर में जोड़ सकते हैं? – dakab

+0

आह धन्यवाद मुझे नहीं पता था कि उसे पहुंच की आवश्यकता है। मेरा जवाब अपडेट किया गया। –

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