2013-03-19 2 views
10

जावास्क्रिप्ट या jQuery का उपयोग कर वैश्विक वर्गों के सीएसएस को सेट करने का कोई तरीका है? यही है, पृष्ठ के <style/> टैग पर .my_class { foo:bar } संलग्न करें?जावास्क्रिप्ट या jQuery का उपयोग कर वैश्विक सीएसएस कक्षाओं को परिभाषित करें?

+0

के संभावित डुप्लिकेट [यह जावास्क्रिप्ट का उपयोग CSS स्टाइलशीट को बदलने के लिए संभव है? (किसी ऑब्जेक्ट की शैली नहीं, लेकिन स्टाइलशीट स्वयं)] (http://stackoverflow.com/questions/6620393/is-it-possible-to-alter-a-css- स्टाइलशीट-using- जावास्क्रिप्ट- नहीं- -स्टाइल-ऑफ-ए) – Quentin

+0

संभावित डुप्लिकेट: [jQuery सीएसएस नियम/कक्षा @ रनटाइम बनाएं] (http://stackoverflow.com/questions/1212500/jquery-create-css-rule-class-runtime) – Boaz

+0

हाँ लेकिन डाल दें आपकी साइट के स्रोत में ** ** बड़ी चेतावनी **, भविष्य में साइट पर काम करने वाले किसी भी व्यक्ति को सतर्क करना। मेरे प्रयोग में, गतिशील रूप से निर्मित/संशोधित स्टाइलशीट वाली साइट ज्ञात ब्रह्मांड में सबसे भ्रमित चीजें हैं। –

उत्तर

14

शुद्ध जावास्क्रिप्ट -

var style=document.createElement('style'); 
style.type='text/css'; 
if(style.styleSheet){ 
    style.styleSheet.cssText='your css styles'; 
}else{ 
    style.appendChild(document.createTextNode('your css styles')); 
} 
document.getElementsByTagName('head')[0].appendChild(style); 
+0

वैसे दो सही उत्तर हैं ... Math.random() द्वारा पीछा किया जा रहा है। – MaiaVictor

+1

जबकि दोनों उत्तर दिए गए प्रश्न के लिए एक सही समाधान प्रदान करते हैं, मैं जब भी मैं पुराने आईई संस्करणों का समर्थन करने की कोशिश नहीं कर रहा हूं, तो प्रदर्शन कारणों से शुद्ध जावास्क्रिप्ट का उपयोग करना पसंद करता हूं। – vastlysuperiorman

+1

@vastlysuperiorman आईई के किसी भी संस्करण का समर्थन करना गलत है। – Leif

13

हाँ, आपको लगता है कि jQuery में कर सकते हैं:

var styleTag = $('<style>.my_class { foo: bar; }</style>') 
$('html > head').append(styleTag); 

यह बस <head> के अंत में <style> टैग जोड़कर काम करता है।

+0

वैसे दो सही उत्तर हैं ... Math.random() द्वारा पीछा किया जा रहा है। – MaiaVictor

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