2013-07-03 11 views
14

के शरीर में एक सीएसएस कक्षा जोड़ने के लिए सुरक्षित और तेज़ तरीका मैं डोम के बॉडी एलिमेंट में कक्षा जोड़ना चाहता हूं। कुछ आसान के लिए, और शरीर के तत्व के साथ ही तेज़ी से लोड हो रहा है (कम से कम, मुझे लगता है कि यह डीओएम में एक तत्व को दफन करने वाला तत्व कहने से तेज़ होगा), मुझे वास्तव में ऐसा करने के लिए jQuery तैयार ईवेंट की प्रतीक्षा करनी होगी सरल काम? मैं शरीर में शैली जोड़ते समय एक "झिलमिलाहट" प्रभाव से बचने के लिए देख रहा हूं, क्योंकि इस वर्ग से जुड़े विभिन्न सीएसएस शैलियों को जोड़े जाने पर प्रभावी होगा।डीओएम

मैं की तरह कुछ कर सकते हैं:

jQuery(window.document).ready(function() { 
    jQuery("body").addClass("home"); 
    }); 

लेकिन वहाँ एक तेजी से, अभी तक सुरक्षित तरीका है? मुझे परवाह नहीं है अगर इसकी jQuery या देशी जावास्क्रिप्ट

+1

मैं कर रहा हूँ के लिए सुनिश्चित नहीं है कि आप 'सुरक्षित' से क्या मतलब रखते हैं - जो पूरी तरह से सुरक्षित और तेज़ लगता है (सामग्री की मात्रा पर कितनी तेजी से निर्भर करता है)। झिलमिलाहट प्रभाव से बचने के लिए मैं आमतौर पर क्या करता हूं, शरीर को सीएसएस द्वारा छुपाता है और सभी स्क्रिप्ट चलाने के बाद इसे jQuery द्वारा दिखाया जाता है। यह समय-समय पर पर्ची करता है, उदाहरण के लिए जहां किसी तत्व को किसी अन्य तत्व के आकार के आधार पर आकार दिया जाता है, लेकिन उन स्क्रिप्ट को केवल उस रेखा के बाद जाने की आवश्यकता होती है जो शरीर को दिखाती है। – ClarkeyBoy

+0

एचटीएमएल में सबसे सुरक्षित और तेज़ तरीका होगा और कक्षा को '' तत्व –

+0

में जोड़ें, निश्चित रूप से सबसे तेज़ और सुरक्षित तरीका यह है कि इसे _in body_ में डालें? – Alnitak

उत्तर

39
document.body.className += ' ' + 'home'; 

Performance comparision: classNameclassListaddClass बनाम बनाम:

अद्यतन (पीएसएल की टिप्पणी के आधार पर)

या नए लोगों document.body.classList.add("home");

+4

+1 मैं इसे टाइप करने वाला था .. – PSL

+11

या नए लोगों के लिए 'document.body.classList.add (" home ");' – PSL

+1

सुनिश्चित करें कि यह '' – Dharman

1

सही उद्घाटन body टैग के बाद, आप एक स्क्रिप्ट टैग बना सकते हैं करते हैं:

<body> 
<script> 
    $('body').addClass('home') 
</script> 
<!-- HTML content bellow --> 
</body> 

केवल इस शर्त पर कि jQuery head में लोड किया जाता है है।